我最近在我的仓库中应用了一个补丁,后来我意识到这是错误的做法。我使用“--reject”参数应用了补丁,因此它应用了有效的更改并为其余部分创建了.rej文件。
我对git很新,所以我可能没有回到正确的方向,因为现在我回到了之前的提交,一切正常,除了我的代码库周围散布了很多.rej文件。我回到之前的提交并做了一个“git reset --hard”来摆脱所有应用补丁检出的文件。
我找不到任何关于为什么我仍然有这些.rej文件的信息,即使我没有检查出来。我知道我可能不正确地从补丁中恢复,似乎通常有更好的替代方法来应用补丁,但有没有人知道摆脱这些拒绝的正确方法?
谢谢!
答案 0 :(得分:4)
与大多数git命令一样,git reset --hard
不会触及git不知道的文件。
要手动删除它们,请先使用git clean -n
显示工作目录中未被git跟踪的所有文件。确保没有列出您想要保留的内容。然后使用git clean -f
实际删除文件。
您可能想了解两个选项:
git clean -xf
还会删除git
git clean -df
也会移除未跟踪的目录
答案 1 :(得分:2)
git clean
可能会做你想要的。
或者您可以使用find . -name \*.rej | xargs rm
手动删除文件。
或者你可以删除你的仓库中除.git之外的所有文件,然后执行git checkout .
这将恢复源代码管理下的文件。