git rebase --continue 没有变化
git rebase --continue no changes
我有两个具有两个特征的分支:banch_1
和 branch_2
。
branch_2
使用 branch_1
中的功能。
我在 branch_1
中进行了更改,并希望在 branch_1
上重新设置 branch_2
的基线,以将 branch_1
的更改更改为 branch_2
。
所以,我正在查看 branch_2:
git checkout branch_2
并尝试基于 branch_1 进行变基:
git rebase branch_1
之后我得到两个文件的 'Merge conflict'。所以我运行
git mergetool -t meld
并解决冲突,从 branch_1
中选择更改。
我正在保存文件并转到终端,输入
git status
并看到 git 索引没有变化。接下来我 运行 git rebase --continue
并获得
No changes - did you forget to use 'git add'?
错误。但是没有什么可以补充的!
我键入 git log
并看到来自 branch_1
的提交,但没有来自 branch_2
.
的提交
我做错了什么?
如果我理解正确,当您遇到合并冲突时,您将接受来自 branch_1
的所有更改,这意味着来自 branch_2
的特定提交是无关紧要的 - 中的任何更改该提交与来自 branch_1
.
的传入更改相同
当git在说
No changes - did you forget to use 'git add'?
它告诉您您尝试应用的提交不会对存储库进行任何更改,因此它没有理由存在。
对此的简单解决方案是 git rebase --skip
,正如@C-Otto 的评论中所建议的那样,它只是说 "ignore this commit and move on"。这将跳过您当前正在处理的提交,并继续进行后续提交。
您可能还会发现使用交互式变基 (git rebase -i
) 更容易,它首先会向您显示它将应用的提交列表,并为您提供各种选项来处理每个单独的提交.在这种情况下,如果您确定一个不再相关的提交,您可以提前跳过它,这样您就不会在第一时间看到冲突。
我有两个具有两个特征的分支:banch_1
和 branch_2
。
branch_2
使用 branch_1
中的功能。
我在 branch_1
中进行了更改,并希望在 branch_1
上重新设置 branch_2
的基线,以将 branch_1
的更改更改为 branch_2
。
所以,我正在查看 branch_2:
git checkout branch_2
并尝试基于 branch_1 进行变基:
git rebase branch_1
之后我得到两个文件的 'Merge conflict'。所以我运行
git mergetool -t meld
并解决冲突,从 branch_1
中选择更改。
我正在保存文件并转到终端,输入
git status
并看到 git 索引没有变化。接下来我 运行 git rebase --continue
并获得
No changes - did you forget to use 'git add'?
错误。但是没有什么可以补充的!
我键入 git log
并看到来自 branch_1
的提交,但没有来自 branch_2
.
我做错了什么?
如果我理解正确,当您遇到合并冲突时,您将接受来自 branch_1
的所有更改,这意味着来自 branch_2
的特定提交是无关紧要的 - 中的任何更改该提交与来自 branch_1
.
当git在说
No changes - did you forget to use 'git add'?
它告诉您您尝试应用的提交不会对存储库进行任何更改,因此它没有理由存在。
对此的简单解决方案是 git rebase --skip
,正如@C-Otto 的评论中所建议的那样,它只是说 "ignore this commit and move on"。这将跳过您当前正在处理的提交,并继续进行后续提交。
您可能还会发现使用交互式变基 (git rebase -i
) 更容易,它首先会向您显示它将应用的提交列表,并为您提供各种选项来处理每个单独的提交.在这种情况下,如果您确定一个不再相关的提交,您可以提前跳过它,这样您就不会在第一时间看到冲突。