首先你得有一个账号,才能为所欲为:
- 以查看是否存在现有SSH密钥:
cd ~/.ssh
- 生成新的SSH密钥
ssh-keygen -t rsa -C "wtopull@gmail.com"
ssh-keygen -t rsa -C "471601494@qq.com"
- 打开
cd ~/.ssh
ls
cat id_rsa.pub
git config --global user.name "name"
git config --global user.email "abc@gmail.com"
查看设置的命令:
git config --list
然后通过以下命令既可以修改设置的全局用户名和邮箱:
git config --global --replace-all user.name "name"
git config --global --replace-all user.email "abc@gmail.com"
git pull = git fetch + git merge
- git fetch:是将远程主机的最新内容拉到本地,用户在检查了以后决定是否合并到工作本机分支中。
- git pull:是将远程主机的最新内容拉下来后直接合并
<!--从远程主机的master分支拉取最新内容 -->
git fetch origin master
<!--将拉取下来的最新内容合并到当前所在的分支中-->
git merge dev/my
git pull origin master
新建一个本地分支
git checkout -b dev/my
git add .
git commit -m"feat"
<!--把新建的本地分支push到远程服务器-->
git push origin dev/my
查看当前所在分支
git branch
修改分支名称
git branch -m dev/my abc
切换分支
git checkout develop
删除本地分支
git branch -d feature/home
<!--如果删除不了可以强制删除-->
git branch -D feature/home
dev/my分支合并到master
<!--第一步先把代码提交到分支上-->
git add .
git commit -m"fix...."
git push origin dev/my
<!--第二步:切换到master分支-->
git checkout master
<!--第三步:把远程master上的代码pull下来-->
git pull origin master
<!--第四步:然后把dev/my分支的代码合并到master上-->
git merge dev/my
<!--第五步:查看当前状态-->
git status
<!--第六步:如果当前状态没报错-->
git push origin master
如果当前所在分支是master,想把branch代码合并到master,就先切换到branch拉取最新代码后切回master,git merge dev/my
如果当前所在分支是branch,想把master代码合并到branch,就先切换到master拉取最新代码后切回branch,git merge master
git stash
举例:对于index.html文件之前已经提交过了,现在工作区仍然还在index.html文件上进行工作,这个时候你被通知说,要对index.html文件进行一个修复提交,工作区的内容还没有改好不想提交。完美做法是:将工作区的内容stash,在index文件中修复bug提交后,再将工作区的内容取出来,恢复到暂存时的状态。
- 初始状态index.html文件在工作区进行修改:可以使用命令git status 和git diff看到此时的修改信息。
- 这个时候还没有修改完,不想提交,但是要去修复bug。
- 将index文件的内容stash起来,使用命令:git stash,如下图:使用git stash命令后,
再使用git status或者git diff查看可以发现,对工作区的修改内容已经没有了,这个时候进行bug修复提交 - bug修复提交后,恢复之前暂存的状态,这个时候有两种命令可选,我们选择:git stash pop命令
并使用git status和git diff可以发现,此时工作区index文件的内容跟我们暂存前是一样的。
另:在进行bug修复时,如果修复bug的部分与我们保存暂存时文件的内容冲突时(在一处进行修改),这样在使用命令git stash pop进行恢复暂存时会出现冲突,应该怎么解决?根据当前情况解决冲突?
代码回滚
git log
git revert commitID