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

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

问题

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

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

期望

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

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

谢谢大家

11561 次点击
所在节点    git
33 条回复
qing0304
2019-03-06 09:11:47 +08:00
建分支?
AlphaTr
2019-03-06 09:12:37 +08:00
git fetch
leo108
2019-03-06 09:13:57 +08:00
git config --global pull.rebase true

然后之后所有的 pull 操作都会自动 rebase
AlphaTr
2019-03-06 09:14:36 +08:00
或者默认 git pull 加上 --ff-only 这个参数,只进行 fast-forward 合并
xqin
2019-03-06 09:15:00 +08:00
git config --global pull.rebase true

配置一下 git 的默认行为, 改变 pull 之后的 merge 为 rebase, 这样当你执行 git pull 的时候, 其实是执行的 git fetch && git rebase origin/xxx

google 关键字`git config pull rebase`
liujan
2019-03-06 09:15:03 +08:00
用 git pull --rebase
terence4444
2019-03-06 09:16:57 +08:00
git fetch
git rebase
lepig
2019-03-06 09:58:21 +08:00
@AlphaTr fetch 貌似可以。 但是还需要手动。 可能需要适应下
jaysun
2019-03-06 10:03:10 +08:00
你截的图就说明了终止提交的方法,一个空的消息,终止这次提交
raysonx
2019-03-06 10:09:08 +08:00
我都是先 git pull,出现合并的话再执行 git reset --hard origin/master
leo108
2019-03-06 10:15:36 +08:00
@raysonx 然后你 自己的代码就『丢』了(除非你会用 reflog )
graysheeep
2019-03-06 10:20:33 +08:00
git pull --rebase
PazuLee
2019-03-06 10:39:49 +08:00
#7 正解
lepig
2019-03-06 10:59:01 +08:00
@leo108
@xqin
感谢 2 位老铁。 确实可以了
Lax
2019-03-06 10:59:15 +08:00
9 楼正解,删掉这个文件里的内容即可。
lepig
2019-03-06 11:00:52 +08:00
@jaysun
@Lax

Thx
hiveex
2019-03-06 11:23:37 +08:00
idea 有个选项是 rebase
anyforever
2019-03-06 11:26:36 +08:00
为什么不在自己的独立分支上开发?
raysonx
2019-03-06 11:34:21 +08:00
@leo108 我自己的代码从来不放在 master 分支,如果临时需要 rebase 通常就是先 git fetch origin,然后 git rebase origin/master。
如果我切到 master 肯定只是为了 pull,然后开新分支做开发。
xiaoxinxiaobai
2019-03-06 11:48:18 +08:00
不太懂这种需求的意义。。。

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

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

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

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

© 2021 V2EX