【发布时间】:2021-06-06 01:46:39
【问题描述】:
在我执行git pull upstream master 命令后,“git”建议我先解决冲突,然后是git add file,然后是git rebase --continue。
但是,我不想使用 git rebase,我更喜欢 git merge,它对我来说似乎更干净。 有什么建议吗?
【问题讨论】:
-
Git 只会在你之前开始 rebase 时建议continuing rebase。如果您的 Git 不是太古老,
git status还会告诉您,如果您处于不完整的 rebase(或合并)中间,那么您正处于不完整的 rebase(或合并)中间。您可能已经运行了一个您忘记的git rebase,或者因为您通过运行git pull将pull的第二个操作设置为rebase来运行它。 -
无论如何,是的,您可以使用
git rebase --abort来终止正在进行的变基并将一切恢复到开始之前的状态。不过,最好弄清楚你是如何开始使用 rebase 的。 -
"Merge" 和 "rebase" 是不同的命令。不要混合它们。 Git无法解决冲突,需要人工干预。这就是冲突的定义:不能自动合并的两个分支上的更改。
-
运行
git --version以了解您安装的 Git 有多古老。如果它在 Git 2.17 左右之前,它已经很老了。当前的 Git 是 2.30,“现代”此时大约是 2.23 左右。 -
2.29.2 抱歉我已经编辑了我的帖子,因为首先我做了一个 git pull,而不是一个 git merge,我认为这就是问题,因为 git 建议我(自动它) git rebase (git rebase --continue 等等)。另一方面,我只记得我做了 git pull 因为当我做 git merge upstream master 时,git 说我已经全部更新了,但事实并非如此,upstream 和 master 之间存在一些差异,这是因为我做了一个 git pull upstream master(我的 fork master)。