0

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

我试过

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

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

谢谢~!

4

2 回答 2

1

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

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

或者你可以用另一种方式来处理它,而不是使用revert,签出你想要从旧提交中恢复的文件:

git checkout <commit> -- <paths to revert>
git commit
于 2013-10-24T05:35:26.340 回答
0

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

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

find输出应包含所有没有go扩展名的文件。然后这些文件将恢复到它们最后的状态HEAD。您可能需要为-not要忽略的文件夹或文件添加额外的块。

于 2013-10-24T06:13:09.227 回答