Git要求我在checkout master上提交或存储更改,即使所有更改都已提交?

Ber*_*pac 39 git

我有两个分支在当地,masterBerislav.后者目前是活跃的,我已经做出了所有的改变.当我尝试结账时master,我收到以下消息:

错误:以下文件的本地更改将被checkout覆盖:[活动分支中更改的文件列表]请提交更改或存储它们,然后才能切换分支.中止

然而,其他的一切我想- ,,commit -告诉我,没有什么承诺(工作目录干净).到达我的分店需要做什么?statusmergemaster

编辑:当我尝试时git stash,我得到:

错误:将未修改的[文件路径]提供给diffcore

对于上面错误中列出的所有文件.

Mun*_*war 41

我今天遇到了类似的问题.git status没有列出checkout抱怨的文件.我做了一个:

git checkout -- path/to/file
Run Code Online (Sandbox Code Playgroud)

并撤消对文件的任何更改.

撤消当前工作目录[1]上所有未分级更改的更简单方法:

git checkout -- .
Run Code Online (Sandbox Code Playgroud)

[1] - 请注意 - 您将丢失正在处理的任何其他未分级更改(如果有).如果您不知道自己在做什么,那么请备份您正在处理的文件:)


use*_*576 39

就这么简单:

git stash
git stash pop
Run Code Online (Sandbox Code Playgroud)

你在跑步时看到的"错误" git stash并不值得关注.它只是git识别文件没有任何未提交的更改.


Ada*_*wen 13

我在一个新的克隆上遇到了类似的问题.我只是用--force(-f)标志强制结账

git checkout --force some_branch 
Run Code Online (Sandbox Code Playgroud)

可能不是解决你正在进行更改的回购问题的最佳方法,但在我的情况下,我确信我没有做任何更改,只是想切换分支.


小智 11

将违规文件移动到其他位置.然后从树中删除有问题的文件.再次拉.然后将您的违规文件中的更改与您刚刚提取的文件区分开来.黑客,但它的工作原理.

  • 像这样的东西让git因难以使用而赢得声誉. (3认同)