1. Git分支管理的一些基本命令:
查看分支:git branch
创建分支:git branch <name>
切换分支:git checkout <name>
创建+切换分支:git checkout -b <name>
合并某分支到当前分支:git merge <name>
删除分支:git branch -d <name>
2.查看分支合并情况:
git log
显示分支合并图:
git log --graph --pretty=oneline --abbrev-commit (空开的地方都表示有一个空格)
3.Git分支管理策略
合并分支时用到 Fast forward 模式的情况是:master分支上没有上传新的文件,仅在普通分支如dev上上传了新的文件,这时候可以用Fast foward 模式进行分支合并。
不用Fast forward 合并的命令: git merge --no-ff -m "描述" dev
添加描述是因为在 merger时会生成一个新的 commit 。
4.bug 分支
4.1 git stash 表示把当前工作区 “储藏” 起来 ,然后可以切换分支去别的事情。
4.2 git stash list 可以查看刚才的工作现场。
4.3 恢复工作现场的方法有两种:
没有进行恢复时,刚才的工作区是干净的,可以用 git status 命令查看
4.3.1 git stash apply 恢复后的stash命令不删除,还需要用 git stash drop 命令进行删除
4.3.2 git stash pop 恢复的同时把 stash 命令也删除了。
5.删除一个分支:
git branch -d <name>
强制删除一个分支: git branch -D <name>
6.多人协作
-
查看远程库信息,使用
git remote -v(显示的更详细,也可以用 git remote命令,只显示远程仓库名称)
; -
本地新建的分支如果不推送到远程,对其他人就是不可见的;
-
从本地推送分支,使用
git push origin branch-name
,如果推送失败,先用git pull
抓取远程的新提交; -
在本地创建和远程分支对应的分支,使用
git checkout -b branch-name origin/branch-name
,本地和远程分支的名称最好一致; -
建立本地分支和远程分支的关联,使用
git branch --set-upstream branch-name origin/branch-name
; -
从远程抓取分支,使用
git pull
,如果有冲突,要先处理冲突。