如何从git补丁恢复后删除剩余的.rej文件?

时间:2014-03-25 18:56:43

标签: git

我最近在我的仓库中应用了一个补丁,后来我意识到这是错误的做法。我使用“--reject”参数应用了补丁,因此它应用了有效的更改并为其余部分创建了.rej文件。

我对git很新,所以我可能没有回到正确的方向,因为现在我回到了之前的提交,一切正常,除了我的代码库周围散布了很多.rej文件。我回到之前的提交并做了一个“git reset --hard”来摆脱所有应用补丁检出的文件。

我找不到任何关于为什么我仍然有这些.rej文件的信息,即使我没有检查出来。我知道我可能不正确地从补丁中恢复,似乎通常有更好的替代方法来应用补丁,但有没有人知道摆脱这些拒绝的正确方法?

谢谢!

2 个答案:

答案 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 .这将恢复源代码管理下的文件。