从先前的提交中删除特定更改

时间:2017-11-04 18:14:53

标签: git

我已经向我的分支做了几次提交并将其推送到遥控器。 我没有注意到一些不需要的文件被添加/修改,并且它们也是在第一次提交之一中提交的。 是否可以仅删除这些更改? (只有不需要的文件)

谢谢!

1 个答案:

答案 0 :(得分:0)

Git并不完全存储文件。相反,Git存储提交(然后提交有文件)。

Git非常注重添加新提交。您可以添加不存在文件的新提交。这意味着无论何时签出提交,文件存在 - 它会被添加到您的工作树中 - 然后每当您切换到 new时提交,文件被删除。 (你会说这个文件是否存在于存储库中?为什么,或者为什么不呢?)

如果这已足够,只需使用git rm删除不需要的文件,提交结果,然后推送新提交以将其添加到存储库的上游版本。最新的提交现在没有文件。由于检出分支会检出作为该分支提示的最新提交,git checkout <whatever-branch>将为您提供一个没有该文件的工作树。但是文件 仍然在较旧的提交中。

如果足够,请参阅链接的可能重复。