重新设置git中的更改

重新设置git中的更改,git,github,Git,Github,我克隆了一个git回购。我没有在本地对该回购协议进行任何更改,但当我运行git pull时,会显示以下消息: 错误:您对以下文件的本地更改将被合并覆盖:… 我做了git重置——硬头,我可以在Github桌面应用程序中看到更改被还原 但是,当我再次运行git pull时,更改又回来了,我可以在Github桌面上再次看到它们,并且再次看到相同的消息。这里怎么了 编辑1 我运行了git status,它显示的文件与Github桌面中的文件相同。我怎样才能恢复更改。我没有做这些改变。我使用两台机器,这些

我克隆了一个git回购。我没有在本地对该回购协议进行任何更改,但当我运行
git pull
时,会显示以下消息:

错误:您对以下文件的本地更改将被合并覆盖:…

我做了git重置——硬头,我可以在Github桌面应用程序中看到更改被还原

但是,当我再次运行
git pull
时,更改又回来了,我可以在Github桌面上再次看到它们,并且再次看到相同的消息。这里怎么了

编辑1

我运行了git status,它显示的文件与Github桌面中的文件相同。我怎样才能恢复更改。我没有做这些改变。我使用两台机器,这些更改是在另一台机器上进行的,我将它们添加到那里,提交它们并将它们推送到在线回购。我不知道为什么我在这台机器上看到这些变化,而我只是拉它们

编辑2


这种情况发生在mac上,运行git clean-f-d没有帮助。文件实际上已被跟踪,但我无法重置/还原它们Arian Hosseinzadeh 4小时前。

试试

git config pull.rebase true
git config rebase.autostash true
然后,git拉取应该首先隐藏任何修改过的文件,在(获取的)远程分支上获取、重新设置任何本地提交的基础


还检查
git config core.autocrlf
返回的内容:尝试将其设置为false,然后重试
git pull

结果表明更改的文件是eclipse生成的
.class
文件。我停止了eclipse,删除了本地repo,再次克隆了它,将
目标
目录添加到
.gitignore
,然后启动了eclipse。最后,我将更改推送到github repo。

好吧,git认为您在本地更改了文件。您是否运行了
git status
以查看它认为您更改了哪些文件?请查看
git status
的说明。有时,这是由于模式更改或CRLF更改引起的。(仅仅是Windows的存在就给每个人带来了痛苦)此外,当您执行
git status
时,请查看分支中当前是否有任何未跟踪的文件
git pull
正试图覆盖。如果是这种情况,
git reset--hard
不会为您删除这些文件,您可能会
pull
ing这些文件的版本,从而覆盖本地计算机上的文件。您可以执行
git clean-f-d
来清除工作副本中未跟踪的文件和目录。我运行了
git status
,它显示了相同的文件。我怎样才能恢复更改。我没有做这些改变。我使用两台机器,这些更改是在另一台机器上进行的,我将它们添加到那里,提交它们并将它们推送到在线回购。我不知道为什么我在这台机器上看到了这些变化,而我只是把它们拉了出来。这种情况发生在mac上,运行
git clean-f-d
没有帮助。文件实际上已被跟踪,但我无法重置/还原它们。