2016-03-21 88 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