Git rebase : do I have to have a clean working directory first?

标签 git branch rebase working-directory

前段时间我 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/

相关文章:

Git Reset --hard 不要删除 git merge 错误

Git:使用 git add -i 或 git add -e 时显示更多上下文?

git - mac os zsh git-prompt.sh 无法使颜色正常工作

check out 其他分支时的 Git fetch/rebase master 分支

Git rebase 导致几乎所有文件的 merge 冲突 - 即使是未触及的文件

git - 如何在不更改日期的情况下编辑提交作者?

r - devtools::install_git 通过 SSH

git - git 标签对象的格式是什么以及如何计算它的 SHA?

git - 如何将带有分支的 Git 存储库转换为可用的 Mercurial 存储库?

git - 如何从当前分支获取git父分支名称?