【问题标题】:Need to revert git rm done while working with master在使用 master 时需要恢复 git rm done
【发布时间】:2018-01-16 04:33:00
【问题描述】:

我正在处理 master 分支。 我使用了以下命令。

git pull origin master

git rm <some files>

git commit -m "meesage"
git push origin master 

我想取回我从远程删除的文件:( 请回复。

我试过了:

git reset head 
git reset --hard head

没有任何效果

【问题讨论】:

标签: git github


【解决方案1】:

您需要告诉它返回返回 1 个修订版。一种方法是指定HEAD~

git reset --hard HEAD~

如果没有波浪号,您只是告诉它恢复到最近一次修订后的状态,即删除文件的版本。

【讨论】:

  • 嗨,本地工作。但是当我尝试从远程服务器拉然后再次推送代码时。再次拉取删除已删除的文件。是的,我不能不拉动这些变化。
  • 是的,处理远程服务器是另一个维度。最好恢复文件,然后将它们添加到 new 修订版中,然后推送。
  • 是的,您可以将其推送到远程,但您必须强制它。如果提交位于远程而不是本地,则通常意味着其他人将提交推送到存储库。通常,您会在此基础上重新调整您的更改并推送结果。但在这种情况下,你必须告诉 git 你知道自己在做什么。
  • 关于在新提交中恢复文件的建议,这也是可能的,它只是一个git revert REVISION,其中REVISION 是您要撤消的提交。但是,假设 repo 的所有用户都足够聪明来处理上游 rebase(或学习它),在这种情况下清除错误提交可能是更清洁的解决方案。虽然是 YMMV。
  • 当其他人可能会受到影响时,我认为更改历史记录不是一个好主意。这就是为什么我建议使用重新添加的文件创建一个新版本。我错过了什么吗?
猜你喜欢
  • 2011-01-08
  • 2021-12-27
  • 2016-07-09
  • 2014-05-02
  • 1970-01-01
  • 2011-06-28
  • 2019-06-01
  • 1970-01-01
  • 2014-11-20
相关资源
最近更新 更多