2016-03-21 79 views
1

在我的本地主機,如果我檢查git status,它說Your branch is up-to-date with 'origin/master'.nothing to commit, working directory clean,但是當我去督促存儲庫,並嘗試做git pull,我得到下面的錯誤:git的承諾或Git的藏匿處錯誤

Your local changes to the following files would be overwritten by merge: Includes/file1.php Please, commit your changes or stash them before you can merge.

我可以知道此錯誤背後的原因以及如何解決此問題

回答

0

您的工作目錄很髒,因爲您在那裏有未提交的工作。如果你想完成git pull您可以通過提交更改:

git add path/to/file1 
git add path/to/file2 
# ... 
git commit -m 'Your commit message' 

,或者你可以嘗試git stash,這將清理工作目錄,並藏匿它的方式以備後用。

實際上還有第三個選項。如果你不希望任何自上次你所做的工作的承諾,你可以拋開一切通過遠:

git reset --hard HEAD~1 

但你應該只考慮這個選項,如果你真的不需要這些工作,以其他方式提交或隱藏。

+0

感謝您的回覆。在將這些更改推送到我的產品之前,我使用了'git add .',然後在本地目錄中使用了'git commit -m'選項。理想情況下,它應該完成我所有的改變。那麼爲什麼它在我的prod服務器上說更改未提交 – user4943236

+0

'git status'顯示了什麼?有沒有修改過的文件? –

+0

沒有,這是它顯示'分支主 你的分支是'最初/主'的最新。 沒有提交,工作目錄乾淨' – user4943236