清除添加到git中的非';不承诺也不应该';没有添加?

清除添加到git中的非';不承诺也不应该';没有添加?,git,Git,我对代码做了一些更改,并转到了一个新分支 然后,我意外地在另一个目录中添加了一个设置为忽略的目录,并提交了对我上次推送的修改 这不是我想做的。实际上,我的意思是将文件移动到另一个目录,然后执行提交和推送 然而,当我从主机上获取一个干净的副本时,我发现所有这些文件现在在我的本地机器上都存在冲突。如何将它们从git中删除以避免冲突?您可以删除所有未跟踪的文件 git clean -fxd 你也可以事后再做 git reset --hard 执行这两项操作将使您的回购恢复到干净状态。这样你就可以再

我对代码做了一些更改,并转到了一个新分支

然后,我意外地在另一个目录中添加了一个设置为忽略的目录,并提交了对我上次推送的修改

这不是我想做的。实际上,我的意思是将文件移动到另一个目录,然后执行提交和推送


然而,当我从主机上获取一个干净的副本时,我发现所有这些文件现在在我的本地机器上都存在冲突。如何将它们从git中删除以避免冲突?

您可以删除所有未跟踪的文件

git clean -fxd
你也可以事后再做

git reset --hard
执行这两项操作将使您的回购恢复到干净状态。这样你就可以再拉了

但是,请注意:它实际上会删除未跟踪的文件,以及您未提交的本地修改。花点时间确保你不会丢失重要的东西


编辑以考虑注释:要使远程
master
分支上的回购处于干净状态,可以执行以下操作

git fetch origin
git reset --hard origin/master

“你有没有犯下这些错误?可能是重复的?”马丁,我想我可能也是无意中犯下的。是的,每次我做一个硬重置,该目录就会在应该被忽略的时候返回。如果我检查github上的存储库,就找不到该目录。这似乎可以解决问题,但当我执行拉操作时,我回到了开始的地方。对您建议的稍加修改就是发出命令
git fetch origin
,然后
git reset--hard origin/master
,这解决了我的问题。更新您的答案,我将接受并感谢您为我指明了正确的方向!