同一分支多人开发时,避免不必要的 commit 操作
多人在同一分支上开发时,git pull 拉取同事提交的代码,默认会 merge 一次代码,并产生一次提交;然而我们期望的是:能够使得 commit 记录为一条直线,所以我们需要阻止 git pull 默认合并代码的操作。手动执行 rebase 操作。
-
方案一:全局配置,一劳永逸
配置一下命令后,当再次 git pull 时,不再执行 merge 操作,而是执行了 rebase 操作。
$ git config --global pull.rebase true
-
方案二:手动执行 rebase 操作
# git pull 的默认行为是 git fetch + git merge # git pull --rebase 则是 git fetch + git rebase $ git pull --rebase
执行完 git pull --rebase 之后如果有合并冲突,使用以下三种方式处理这些冲突:
git rebase --abort
: 会放弃合并,回到rebase操作之前的状态,之前的提交的不会丢弃git rebase --skip
:会将引起冲突的commits丢弃掉(慎用!!)git rebase --continue
:合并冲突,结合git add 文件
命令一起用与修复冲突,提示开发者,一步一步地有没有解决冲突