我有一个文件,我在本地进行了更改然后提交并推送到远程。我实际上意识到它们是不正确的更改,并且只希望该特定文件返回其原始状态(而不是撤消整个提交),将git checkout文件名工作?或者我应该在本地删除文件并从主文件中删除?
答案 0 :(得分:0)
您可以通过执行您可能需要的任何其他更改来修复您的提交,然后将其提交到git commit --ammed
。然后,您可以使用git push --force origin
来"覆盖"你以前的提交。
请注意,这可能会破坏其他人在此提交之外所做的任何工作,因此您应该非常小心地使用它。
答案 1 :(得分:0)
您可以使用
之类的内容将工作树中的文件恢复到以前的状态git checkout HEAD^ -- path/to/file
(这假设文件在最近的提交中被破坏。您可以使用HEAD~2
代替HEAD^
返回2次提交等。)
然后你可以像对待任何其他变化一样对待它;如果不需要更改任何其他内容,您可以继续添加/ commit / push。
由于您已经推送了原始提交,因此我建议您不使用--amend
。这样做会需要强制推动,这会给那些在他们克隆回购邮件时拥有裁判的其他人造成麻烦。它可以恢复,所以如果你真的想与整个团队协调以略微清理历史记录,那么你可以 ;但我怀疑它是否值得。
答案 2 :(得分:0)
这对我有用(也许是因为我的特殊情况,但只是张贴它可以帮助任何人!) - > 1)撤消我对文件的更改 2)在主文件和我的文件副本之间做一个差异,看看是否没有差异 3)提交和推送 文件从Pull Request Files Changed(这就是我想要的)中消失了