分支管理
Git鼓励大量使用分支:
查看分支:git branch
创建分支:git branch <name>
切换分支:git checkout <name>
创建+切换分支:git checkout -b <name>
合并某分支到当前分支:git merge <name>
删除分支:git branch -d <name>
解决冲突
当Git无法自动合并分支时,就必须首先解决冲突。解决冲突后,再提交,合并完成。
解决冲突就是把Git合并失败的文件手动编辑为我们希望的内容,再提交。
用git log --graph
命令可以看到分支合并图。
修改bug
1.Git还提供了一个stash
功能,可以把当前工作现场“储藏”起来
git stash
2.确定要在哪个分支上修复bug,假定需要在master
分支上修复,就从master
创建临时分支:
git checkout master
git checkout -b xxx
3.修复bug
4.切换回主支线并合并
git checkout master
git merge --no-ff -m"注释"xxx(被合并分支)
5.回去分支工作
6. git stash list 可以查看最初隐藏的工作现场
恢复:1。git stash list 回复后stash的内容并不会被删除 删除使用git stash drop
2.git stash pop 恢复时 stash的内容也会被删除
开发一个新feature,最好新建一个分支;
如果要丢弃一个没有被合并过的分支,可以通过git branch -D <name>
强行删除。
多人协作
1.查看远程库:git remote
origin/git remote -v(详细版本)
2.推送分支:git push origin xxx
3.提交冲突时,用git pull把最新提交抓下来,解决冲突再推送
4.没有冲突或者解决掉冲突后,再用git push origin <branch-name>
推送就能成功
5.如果git pull
提示no tracking information
,则说明本地分支和远程分支的链接关系没有创建,用命令git branch --set-upstream-to <branch-name> origin/<branch-name>
。
Rebase
暂时没学透彻
分支
-
命令
git push origin <tagname>
可以推送一个本地标签; -
命令
git push origin --tags
可以推送全部未推送过的本地标签; -
命令
git tag -d <tagname>
可以删除一个本地标签; -
命令
git push origin :refs/tags/<tagname>
可以删除一个远程标签。