为什么 git rebase 会覆盖我的本地更改?如何避免覆盖?

eve*_*ian 8 git git-rebase

我正在尝试与 master 重新建立我的分支。但在变基后它总是会覆盖我的本地更改。

我正在使用该命令git rebase ,它会显示一个文件冲突,然后我手动解决了冲突。经过尝试git rebase --continue。然后我发现我的本地更改丢失了。

如何保留本地更改并与 master 进行 rebase?

Tim*_*sen 1

听起来你的工作目录在你进行变基时很脏。您可能应该准备好在执行变基操作时清除工作目录和阶段。作为解决方法,如果您发现自己有一个非空的工作目录和/或阶段,但需要重新设置到最新的其他分支,您可以进行存储,即

git stash
Run Code Online (Sandbox Code Playgroud)

Git 将进行 2 次(甚至 3 次)提交以保留您当前的工作目录和阶段。变基完成后,您可以通过应用存储来取回这些更改:

git stash apply
Run Code Online (Sandbox Code Playgroud)

我认为在某些情况下,Git 甚至不允许您根据工作目录和阶段的状态进行合并或变基。但无论如何,在变基之前确保它们是干净的可能是个好主意。