是否将提交的文件还原为master版本?

时间:2019-04-03 19:31:49

标签: git git-revert

我修改了许多文件并提交了更改。

我注意到有3个我不应该修改的文件,我希望它们恢复到原来的状态,但是我不想重置为先前的提交,因为我没有不想丢失其他文件更改。我该怎么做?

1 个答案:

答案 0 :(得分:3)

如果您尚未推送,因此您的提交目前仅在本地进行,那么将是一个简单的过程

# restore these 3 files to their previous state
git checkout HEAD^ -- path/to/file1 path/to/file2 path/to/file3

# include these changes...
git add path/to/file1 path/to/file2 path/to/file3

# ... in last commit
git commit --amend

但是,如果您已经已经推送,则有两种基本方案:

1)要么,要么您独自在此存储库上工作,要么共享该存储库,但在该分支上单独工作(通常是功能分支,但取决于您的工作流程)

上面的过程很好,只是要知道,下次您要推送到遥控器时,必须在push命令中使用-f标志来强制更新旧的ref

2),这是一个共享分支,其历史记录无法更改而不会造成麻烦

然后要避免上面的过程,即重写历史记录。相反,您只需要在末尾省略--amend参数,它将进行一个新提交,其中仅包含文件的最后修改。比起初提交它要优雅,但您没有更改历史记录,而且文件也很好。