git:还原一个特定文件以外的更改

时间:2013-10-24 04:47:25

标签: linux git

git revert HEAD会恢复所有更改,但是除了我的go扩展文件之外我还想恢复哪些更改?我想恢复除* .go

之外的所有更改

我试过

   git revert HEAD ^*.go
   git revert HEAD *.go?

它们都不起作用。我应该在哪里查找此功能?

感谢〜!

2 个答案:

答案 0 :(得分:1)

可能有更好的方法,但应该做些什么:

git revert --no-commit HEAD
git reset HEAD -- *.go
git checkout -- *.go`
git commit

或者你可以反过来接近它,而不是使用revert,检查你想要从旧提交恢复的文件:

git checkout <commit> -- <paths to revert>
git commit

答案 1 :(得分:0)

我绝不是Git命令管道输出的专家,但您可以尝试以下方面:

git checkout HEAD^ -- $(find. -not -path '*.git*' -not -iname '*.go' -type f)

find输出应包含所有不具有go扩展名的文件。然后,这些文件将恢复为上一个HEAD中的状态。您可能需要为要忽略的文件夹或文件添加其他-not块。