无法切换回当前分支之前的分支

Posted

技术标签:

【中文标题】无法切换回当前分支之前的分支【英文标题】:Not able to switch back to branch which is ahead of current branch 【发布时间】:2018-12-19 02:32:32 【问题描述】:

我在一个分支“测试”中工作并进行了拉取,现在我根据来源进行了更新。

git checkout develop

我结帐到位于 origin/develop 后面的分支“develop”,我复制了一些代码更改。现在我运行:

 git status

当我在分支“test”中工作时,我得到了许多未跟踪的文件并且没有暂存文件。现在我只想签回测试分支并推送我的更改。 我的改动很小,所以我可以恢复并重做它们。 但是如何切换分支,因为我得到错误:

错误:以下未跟踪的工作树文件将被覆盖 通过结帐:

所有未标记和未跟踪的文件

请在切换分支之前移动或移除它们。

中止

需要帮助,以便我可以返回测试分支并重做更改。

【问题讨论】:

The following untracked working tree files would be overwritten by checkout的可能重复 【参考方案1】:

在这种情况下,stash 是你最好的朋友 - https://git-scm.com/docs/git-stash

这是一个如何解决它的示例,我已经从您签出开发时的步骤开始

git checkout develop
git stash 
git checkout test
git stash pop
git add .
git commit -m 'YOUR MESSAGE'
git checkout develop

应该为你做!

【讨论】:

非常感谢@josh 抽出时间来回答这个问题。我已经关注 ***.com/questions/1146973/… ***.com/questions/22620393/… 来找到我的问题的解决方案,类似于我使用 git checkout 的解决方案。和 git stash -u 和 git checkout test。

以上是关于无法切换回当前分支之前的分支的主要内容,如果未能解决你的问题,请参考以下文章

在 Visual Studio 2015 git repo 中切换分支时发生错误,无法 rmdir 访问被拒绝

无法将上游更改合并回我的分支

Git 分支

SVN - 无法将分支合并回主干 - 许多树冲突

github上测试服出现bug,如何回滚并获得合并之前的分支

git的分支操作