我已经检查了我要推送的本地存储库的一些更改,但是当我执行git pull时,我得到:
paul$ git pull
错误:未经跟踪的工作树文件'documentation / Android / SwiftKey / buttons.xcf'将被合并覆盖。中止
我的工作树中没有未跟踪的文件:
paul$ git status
# On branch master
# Your branch and 'origin/master' have diverged,
# and have 2 and 26 different commit(s) each, respectively.
#
nothing to commit (working directory clean)
我所做的提交不会触及它抱怨的文件。
我已经阅读了答案,建议我做git reset HEAD --hard
,但我不确定这会对我所做的提交产生什么影响?
答案 0 :(得分:26)
这不是你所做的提交触摸文件,而是你提交的提交。检查您正在跟踪的远程分支,看看发生了什么。例如,git log master..origin/master
将显示自上次提取以来 origin / master 上发生的所有提交。根据您上面的输出,其中有26个。使用--name-status
选项将显示添加文件的提交。
您需要重命名有问题的文件,执行拉动,然后将其移回(从回购中覆盖副本)。然后git diff filename
会告诉您副本与其他人承诺掌握的副本有何不同。然后,您可以提交差异,或者使用git checkout filename
将其丢弃。
您需要使用git pull --rebase
来修改origin
中最近提交的内容。一旦git status
表示主人提前而不是从原点/主人分道,您就可以推送。