关于 Git 拉取记录会自动合并问题

关于 Git 拉取记录会自动合并问题

版本控制 5天前 20 0

因为有强迫症,从远程拉去后发现需要自动合并,从而生成一条 Merge 记录 这样对 git commit 记录很不理想,查询资料后发现配置一条语句即可。

git config --global pull.rebase true

Git 合并多个 commit

1. git log 查询提交记录

首先你要知道自己想合并的是哪几个提交,可以使用 git log --oneline 命令来查看提交历史。

2. git rebase

指名要合并的版本之前的版本号

git rebase -i 559723ac

tip: 559723ac 是不参与合并的

3.选取要合并的提交

1.执行了 rebase 命令之后,会弹出一个窗口,头几行如下:
pick xxxxxx 'commit content'
pick xxxxxx 'commit content'
pick xxxxxx 'commit content'
2. 将 pick 改为 squash 或者 s,之后保存并关闭文本编辑窗口即可。改完之后文本内容如下:
pick xxxxxx 'commit content'
s xxxxxx 'commit content'
s xxxxxx 'commit content'
3. 然后保存退出,Git 会压缩提交历史,如果有冲突,需要修改,修改的时候要注意,保留最新的历史,不然我们的修改就丢弃了。修改以后要记得敲下面的命令:
git add -A
git rebase --continue

如果你想放弃这次压缩的话,执行以下命令:

git rebase --abort
4.如果没有冲突,或者冲突已经解决,则会出现编辑窗口
5. 输入 wq 保存并退出, 再次输入 git log 查看 commit 历史信息,你会发现这两个 commit 已经合并了。

让远程分支更加好看

git pull --rebase --autostash origin master

原文: http://yiqiao.me/articles/41/regarding-the-issue-of-automatic-merging-of-git-pulled-records

版权声明: 自由转载-非商用-非衍生-保持署名 (创意共享3.0许可证)