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

问题描述 投票:1回答:1

我修改了一些文件并提交了我的更改。

我注意到有3个文件我不应该修改,我希望它们回到原来的状态,但是我不想重置为之前的提交,因为我不想要我的其他文件更改丢失。我该如何做到这一点?

git git-revert
1个回答
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参数,它将进行一个新的提交,它只包含你文件的最后一次修改。不像在第一时间提交它那样优雅,但你没有改变历史记录,你的文件很好。

© www.soinside.com 2019 - 2024. All rights reserved.