为什么我会与 `git rebase -p` 发生冲突
Why do I get a conflict with `git rebase -p`
我正在尝试了解 git rebase
如何处理合并。我认为使用 -p
,它将能够对已经解决的冲突合并进行变基。但它接缝就像没有。
这里有一个例子来说明这个问题:
git init
touch a && git add . && git commit -m 'first commit'
git branch b
git branch c
echo 'a' >> a && git add . && git commit -m a
git checkout b
echo 'b' >> a && git add . && git commit -m b
git checkout master
git merge b
echo ab > a
git add .
git commit
git checkout c
touch c && git add . && git commit -m c
git checkout master
git rebase -p c
这里我在应用合并提交时遇到冲突。
有人可以向我解释为什么吗?
不,-p
只是将合并提交保留在历史记录中而不是展平它们。文档明确表示这对手动合并没有帮助:
(来自 the man page)
Merge conflict resolutions or manual amendments to merge commits are not preserved.
我正在尝试了解 git rebase
如何处理合并。我认为使用 -p
,它将能够对已经解决的冲突合并进行变基。但它接缝就像没有。
这里有一个例子来说明这个问题:
git init
touch a && git add . && git commit -m 'first commit'
git branch b
git branch c
echo 'a' >> a && git add . && git commit -m a
git checkout b
echo 'b' >> a && git add . && git commit -m b
git checkout master
git merge b
echo ab > a
git add .
git commit
git checkout c
touch c && git add . && git commit -m c
git checkout master
git rebase -p c
这里我在应用合并提交时遇到冲突。 有人可以向我解释为什么吗?
不,-p
只是将合并提交保留在历史记录中而不是展平它们。文档明确表示这对手动合并没有帮助:
(来自 the man page)
Merge conflict resolutions or manual amendments to merge commits are not preserved.