在 git 变基期间解决冲突
Resolving conflicts during git rebase
为了简单起见,假设以下情况:
D---E---F--- ... ---Z topic
/
A---B---C master
我想在 master 上做 rebase,所以 D
到 Z
"chain" 在 C
之后,但是,所有 D
, E
, F
, ..., Z
提交在将它们 1 对 1 变基时会产生冲突。我们只是说它们中的每一个在不同的行上与 commit C
.
我想立即解决所有这些冲突,而不是在 rebase 交互模式 (--continue, --abort, --skip
) 中,或者它是什么。我的问题是忽略冲突并在最后解决冲突是否完全不好。通过新的显式提交或在最后的变基步骤中。
我的意思是:git add -A && git commit
这将导致某些提交包含处于无法工作状态的代码库的历史记录,对吗?
ps。我不想合并,我想变基。
是的,忽略 Git 报告的冲突是个坏主意。从 C
到 D
的逻辑更改不太可能通过 B
和 D
之间的相同代码更改来实现。如果足够简单,那么 Git 就不会要求干预了。如果您不关心历史记录,您可以将所有 D
到 Z
提交合并为一个,然后尝试变基。
您有 git rerere
命令可以帮助您。
git rerere
R已记录 R已使用 R已解决
# enabled the option to record the
git config --global rerere.enabled true
顺便说一下,如果你更喜欢 rerere 而不是它解决的自动暂存文件(我愿意),你可以要求它:你只需要像这样调整你的配置:
git config --global rerere.autoupdate true
为了简单起见,假设以下情况:
D---E---F--- ... ---Z topic
/
A---B---C master
我想在 master 上做 rebase,所以 D
到 Z
"chain" 在 C
之后,但是,所有 D
, E
, F
, ..., Z
提交在将它们 1 对 1 变基时会产生冲突。我们只是说它们中的每一个在不同的行上与 commit C
.
我想立即解决所有这些冲突,而不是在 rebase 交互模式 (--continue, --abort, --skip
) 中,或者它是什么。我的问题是忽略冲突并在最后解决冲突是否完全不好。通过新的显式提交或在最后的变基步骤中。
我的意思是:git add -A && git commit
这将导致某些提交包含处于无法工作状态的代码库的历史记录,对吗?
ps。我不想合并,我想变基。
是的,忽略 Git 报告的冲突是个坏主意。从 C
到 D
的逻辑更改不太可能通过 B
和 D
之间的相同代码更改来实现。如果足够简单,那么 Git 就不会要求干预了。如果您不关心历史记录,您可以将所有 D
到 Z
提交合并为一个,然后尝试变基。
您有 git rerere
命令可以帮助您。
git rerere
R已记录 R已使用 R已解决
# enabled the option to record the
git config --global rerere.enabled true
顺便说一下,如果你更喜欢 rerere 而不是它解决的自动暂存文件(我愿意),你可以要求它:你只需要像这样调整你的配置:
git config --global rerere.autoupdate true