分支切换 git checkout 分支名
双击某一个分支即可进行分支切换
分支查看 git branch
选中某个分支可以看到分支所有记录
分支提交
分支上的代码提交和上面的一样处理即可,没什么区别。分支的推送也很简单,和代码的推送类似
分支合并 git merge 分支名
当我们分支上的功能开发完毕之后,需要将分支的内容合并到主分支,这个时候可以这么处理
分支删除 git branch -d 分支名
当分支合并完之后,分支就可以删除了,只需要切换到别的分支,然后选中要删除的分支右键,选择删除分支即可,弹出框中有 强制删除 选项,对应的命令是 git branch -D 分支名 当分支无法删除时可以选择强制删除选项删除即可。
合并冲突解决
当多人协作工作时,可能会有更改到相同文件的情况,这样就有可能会有冲突需要处理。当然,我们应该在工作分配时尽量避免多人负责一个模块的情况来避免不必要的代码冲突,当冲突不可避免时,我们就需要来处理冲突,这个时候就要祭出 BeyondCompare 这个合并神器。我们右键选中需要解决冲突的文件,弹出的菜单中选择其它合并工具即可。
后悔药 git reset HEAD get reset --hard 提交记录 git revert 提交记录
未提交
在代码未提交时想丢弃本次修改,重新开始开发时可能会用到这个。这种也是最简单的,直接选中需要撤销的文件,右键选择重置菜单即可。
已提交
当代码已提交到本地分支,但是还没有推送到服务器仓库时,想回退掉提交,这个时候就可以使用 get reset --hard 提交记录 命令来回退提交。
已推送
有时候我们可能脑抽,不小心把错误代码提交了,不止是提交到了本地,还手残的给点了推送同步到了服务器,这个时候事情就大了,我们需要赶紧把这条记录给回退掉,这个时候,我们选中我们需要回滚的的记录,右键点击 提交回滚 菜单,然后弹窗窗口点击确定,这个时候,我们可以看到代码被回滚了,但是git上有了一条记录就是 Revert xxxxx 还需要推送到服务器,这个就是有后遗症的,别人是可以看到你的回滚记录的,所以,下次提交的时候一定要注意,要仔细检查好。
合并补丁 patch
有时候我们在开发分支功能的时候,有些紧急 bug 是在分支代码上处理的,在处理完毕之后,需要将修改合并到主线和其它开发分支上,这个时候,我们就需要用到 patch 来做代码合并了。
生成补丁 git diff git format-patch
生成补丁可以使用上面两种命令行形式生成,但是我们有 IDE 啊,当然要无脑操作嘛。生成也很简单,首先选择任意一条记录,点击右键 创建补丁 菜单,然后在弹出的菜单中选择我们需要生成 patch 的提交记录,注意这里只能选择连续的几条记录来生成 patch ,如果我是要不连续的几条记录怎么办呢?生成多个 patch 就可以了。