前段时间我 pull 了master
。然后我创建了一个 master 分支,branch1
。我在 branch1
中做了相当多的工作。我有几次提交,自从上次提交以来,我更改了很多文件并添加了新文件,可能删除了一些文件。所以我的工作目录目前不干净。
其他人现在已将大量更改 merge 到服务器上的 master 中,我需要将这些更改 pull 到 master 中并重新调整我的工作。
为了将 branch1
重新设置为最新的 master
,我需要一个干净的工作目录吗?换句话说,我需要在 rebase 之前提交当前的工作吗?我不清楚这是如何工作的。
最佳答案
忘记干净的员工,你只需要一个git pull --rebase --autostash
。这将自动 stash 您当前的工作以获得一个干净的工作目录(基于您上次提交),然后从远程重新设置当前分支的基础,然后 pop stash 的内容。
无论工作目录是否干净,此命令都可以开箱即用。
如果您遇到一些冲突,请记住此命令相当于
git stash
git pull --rebase
git stash pop
像平常一样解决它。
关于Git rebase : do I have to have a clean working directory first?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64593984/