Git 从远程拉取后发现需要自动合并!如何取消自动合并

2019-03-06 09:10:09 +08:00
 lepig

问题

多人开发,每天早上拉一次新代码,然后进行任务开发。但是如果在我 push 之前已经有人 push 了,那么我就要先合并他的代码。 这个时候我执行git pull会出现下面的提示。

我的命令行是 windows 下面的zsh环境

期望

因为我大部分时间都是在命令行执行rebase操作,然后在执行git pull,这样就能最大化的保持 commit 记录是一条直线。但是有时候不小心就执行了pull后就会出现这个提示框。 不管我输入:q还是:q!命令行都会自动合并。产生了一次合并提交。

我的期望是在这个交互窗口如何取消这次自动合并,我手动执行 rebase 操作。

谢谢大家

11580 次点击
所在节点    git
33 条回复
rizon
2019-03-06 11:54:24 +08:00
我没弄错的话,git pull 之后 产生了 merge 的 commit 记录后,还是可以继续“变基”消除多余的 merge 的

“拉”和“变基”的顺序是没关系的吧??
rizon
2019-03-06 11:59:02 +08:00
就是既可以执行 `git pull --rebase` 也可以执行 `git pull ` merge 之后再`git rebase`

两种都可以的。
idea 默认没有`git pull --rebase` ,不知道为啥。。
所以每次都是先 commit 代码,然后 执行 `update project`然后发现产生了 merge,然后再手动 `git rebase`。

如果不这样,那就只能手动去点菜单 vcs -> git -> rebase 这样操作感觉太麻烦了。

----

因此对于 idea 中如何去做这件事,有大佬知道什么更优雅的方式吗? 除了`git config pull.rebase true`这种方案之外的
FrankFang128
2019-03-06 12:36:39 +08:00
rebase 跟自动合并有多大区别? 代码最终都是一样的,该冲突还是冲突。
widdy
2019-03-06 12:37:32 +08:00
@rizon 设置 Git 有个 update method , 可以改成 rebase,可以试试。
shenyangno1
2019-03-06 12:50:57 +08:00
pull 出 merge 日志之后再 rebase 效果一样的吧,有代码冲突除外
lepig
2019-03-06 13:32:30 +08:00
@anyforever 正常来说应该是在自己分支上弄。但是为了懒吧,需要经常和前端联调代码。每次都要切过去在合,在提交,然后在切自己分支挺麻烦的。
lepig
2019-03-06 13:34:50 +08:00
@shenyangno1 merge 以后 在我这里就会自动产生一次 commit 了。 不想要这个 commit
rizon
2019-03-06 15:16:14 +08:00
@lepig #27 前面我都说了,merge 后执行 rebase 一样的。。。。都会清理时间线(消除 merge 的 commit )的。。
rizon
2019-03-06 15:18:09 +08:00
@widdy #24 嗯 刚看了下,是这样了,都忘了这个选项了,可选采用 rebase 或 merge 来 update
lepig
2019-03-06 16:37:44 +08:00
确实是。 刚试了一下,执行了 git rebase 后,自动消除了 merge 的日志
lepig
2019-03-06 16:39:25 +08:00
@rizon 确实是。谢谢了。我总以为产生的 merge 的 commit 会被保留在历史时间线中。哎,人丑真的要多读书。
lepig
2019-03-06 16:39:55 +08:00
@shenyangno1 确实是。 刚试了一下,执行了 git rebase 后,自动消除了 merge 的日志
ydirel
2019-03-07 00:52:55 +08:00
git fetch && git rebase,,,有冲突手动解决冲突,,,git rebase --continue

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/541574

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX