一、分支创建与切换
git branch 分支名 //创建
git checkout / switch 分支名 //切换
git checkout -b 分支名 //创建并切换
//或
git switch -c 分支名
二、查看与合并
git branch //查看所有分支,带*号的代表当前工作所在的分支
git merge 分支名 //合并指定分支到当前分支
直接使用git merge合并分支时,GIT会给一个“Fast-forward” 的提示信息,说明该合并方式是“快进模式”,即直接把当前分支(比如master)指向指定分支(如dev)的当前提交,所以合并比较快,但是在这种模式下,删除分支会丢失分支信息,所以有时我们就需要禁止Fast-forward模式。
git merge --no-ff -m "merge with no-ff" 分支名
--no-ff方式在合并分支时会生成一个新的commit,在合并时需要使用-m把commit的描述写进去。
三、删除分支
git branch -d 分支名
四、储存工作现场
有时我们可能正在某个分支上进行任务开发,但是突然有一个很紧急的bug需要修复的时候,就需要将此时的工作现场先暂时储存起来,以便可以放心大胆的去创建分支修复bug等操作,结束后再恢复现场继续进行开发。
git stash //储存当前工作现场
git stash list //查看之前的工作环境去哪儿了
//恢复工作环境
git stash apply //恢复后,stash内容并不删除,你需要用git stash drop来删除;
git stash pop //恢复的同时把stash的内容也删了
git stash apply stash@{} //恢复指定的stash
五、创建远程origin的dev到本地
git switch -c dev origin/dev
六、设置本地dev和远程origin/dev的链接
git branch --set-upstream-to=origin/dev dev
总结 实际开发中对分支的使用策略:
- 1.主分支master是稳定的,仅用来发布新版本,平时不在上面开发
- 2.平时开发都在dev分支上,在发布新版本时才合并到主分支上
-
3.开发成员都有自己分支,并时不时的往dev分支上进行合并