2014-01-31 123 views
15

我正與另一位開發人員合作,我們似乎已將自己融入了GIT泡菜。 我定期提交代碼並定期推送給遠程主服務器。我的同事(雖然是一個偉大的人和開發人員)並沒有養成這樣做的習慣,當我今天早上去拉頭修改時(正如我的習慣),我遇到了以下錯誤消息:無法在Visual Studio 2013中同步Git

由於存在未提交的更改,因此無法拉取。再次提交之前提交或撤消更改。詳情請看輸出窗口。

然後我注意到有5個傳入的提交可追溯到5天前。我沒有任何地方承諾,也沒有階段性變化。

我試過同步,拉和其他所有我可以在VS界面無濟於事。

有沒有其他人經歷過這一點,他們可以幫助我解決它。

感謝

+2

如果您轉到命令行並運行'git status' - 您是否看到任何掛起的更改?嘗試和命令行運行'git reset --hard'來擺脫任何改變(如果你認爲你不需要它們,然後嘗試'git pull'。 –

+0

我運行git status。它注意到我的分支和主我注意到我有1次提交,主人每次提交了5次提交,我只通過改變1個文件在本地添加了1次提交,看本地提交是否有幫助,否則我可能會失去本地提交。我想要吹掉我同事的5次提交,還注意到有一堆沒有跟蹤的文件,它已經知道,我們不想跟蹤那些。如果我做了一個git reset --hard,我會失去5遠程/傳入提交? – onefootswill

+0

沒有'git reset --hard'是回滾任何未提交的git文件,這是爲了解決'無法拉,因爲有未提交的更改',它不會觸及提交如果您在分支'master',只要運行'git pull',你的本地提交和5個提交上游就會合並(不是一個,而是6個獨立的co mmits)。這就是git的設計目的。 –

回答

23

我有同樣的問題,因爲它沒有被用來在服務器上取出了一些包文件。我不得不打開命令提示符窗口,看到所有的錯誤運行:

git pull 

我看到這個錯誤與文件的列表中刪除:

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

刪除他們,我是能夠成功地做了拉後。

+1

你可能是對的。我從來沒有解決過這個問題。從那以後,我已經學會了如何在命令行中使用git,並始終在那裏解決我的錯誤。 – onefootswill

+0

你是對的,對我來說,我使用從Visual Studio拉並得到一個錯誤發生。詳細信息:無法rmdir ...':Accèsrefusé。然後我製作一個git狀態並顯示錯誤狀態的文件 – Jerome2606