origin
进行拉取时遇到了困难。我一直收到以下提示:“无法拉取,因为存在未提交的更改。在再次拉取之前,请提交或撤销更改。有关详细信息,请参见“输出”窗口。”
这也适用于切换分支。我会得到类似的消息,但并非总是发生。
我正在使用 Visual Studio 2015 Update 1 和 Visual Studio Team Services Git。在我的计算机上,我有一个本地的
master
分支和开发分支。每次我切换到 master
然后进行拉取时,我都会收到错误消息。我已经采取了存储和删除存储(命令行),有时我使用 TortoiseGit 进行拉取,它可以正常工作。奇怪的是,即使我尝试使用 TortoiseGit 恢复(对于未提交的文件),它也显示成功恢复了(我已经尝试了 Visual Studio 撤消,但没有任何反应)。再次尝试拉取,仍然存在同样的问题。未提交的文件仍将存在,并且有时当我执行
git status
时,它会显示没有要提交的内容。
请注意:即使从分支切换到master
,这种情况也可能发生。在这种情况下,不可能有未提交的更改,因为我一开始就无法进行切换。
我对Git仍然很陌生,但我想知道是否有更好的解决方法,因为我希望使用一个环境而不是在每个任务之间切换不同的环境;对我来说,只需在Visual Studio中完成所有操作更容易。我已经阅读了:
TFS/GIT in VS Cannot switch to master because there are uncommitted changes
更新
看起来这个问题与行尾有关。
通过执行git diff -R
,您可以看到添加了一个行尾符号“^M”,并且它是不同的。删除gitattributes中的* text = auto
(然后检查更改),然后再次放回它,以便gitattributes不会发出需要提交的自身更改的信号似乎有所帮助,不会有任何更改。