无法在Visual Studio 2013中同步Git

15

我正在与另一位开发者合作,我们好像陷入了一个GIT的泥潭。

我经常提交代码并推送到远程主分支。我的同事(虽然是个很优秀的开发者)还没有养成这个习惯,当我今天早上去拉取Head版本(这是我的习惯)时,我面对以下错误信息:

无法拉取更新,因为存在未提交的更改。请在再次拉取之前提交或撤销您的更改。请参见“输出”窗口以获取详细信息。

然后我注意到有5个过去5天的提交记录。我没有本地提交和暂存的更改。

我尝试了在VS界面中同步、拉取和其他所有可能的方法,但都没有成功。

有没有其他人遇到过这种情况,并能帮我解决它呢?

谢谢!


2
如果你进入命令行并运行 git status - 你能看到有没有未提交的更改吗?尝试在命令行中运行 git reset --hard 以摆脱任何更改(如果你认为你不需要它们),然后尝试 git pull - First Zero
我运行了git status。它指出我的分支和主分支已经分叉。它指出我有1个提交,而主分支有5个提交。我只是通过更改一个文件来添加了1个本地提交,以查看是否进行本地提交会有所帮助。否则,我可能会失去我的本地提交。但我不想删除同事的5个提交。它还指出有一堆未跟踪的文件。我们知道这些文件,不想跟踪它们。如果我执行git reset --hard,那么我会失去5个远程/传入的提交吗? - onefootswill
不,git reset --hard 是为了回滚任何未提交的 git 文件,以解决 无法拉取因为存在未提交的更改 的问题。它不会影响提交记录。如果你在 master 分支上,只需运行 git pull,你本地的提交和上游的 5 个提交将合并(不是作为一个提交,而是作为 6 个单独的提交)。这就是 git 的设计初衷。 - First Zero
这与*提交(commit)无关,而与未提交的更改(uncommitted changes)*有关。提交您的更改或放弃它们,然后执行拉取操作,以便您可以将他的更改与您的更改合并。 - Edward Thomson
此外,您可以查看输出窗口以获取详细信息。 - Edward Thomson
显示剩余11条评论
1个回答

23

我遇到了同样的问题,因为服务器上删除了一些未使用的包文件。我必须打开命令提示符并运行以下命令查看所有错误:

git pull

我看到一个关于要删除文件列表的错误:

Please move or remove them before you can merge.
Aborting. 

删除它们后,我成功完成了拉取操作。


1
你可能是对的。我从未解决过那个问题。自从那时以来,我学会了如何在命令行中使用git,并始终在那里解决我的错误。 - onefootswill
你说得对,我在使用 Visual Studio 进行 pull 操作时遇到了错误。详细信息为:无法删除 ...':拒绝访问。然后我执行了 git status 命令,并显示了出错的文件状态。 - Jerome2606

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接