【问题标题】:By mistake deleted an existing file before commit in git?在git中提交之前错误地删除了现有文件?
【发布时间】:2021-06-24 12:13:36
【问题描述】:

我正在处理一个文件,然后在提交之前错误地删除了它。我恢复了它,但我没有看到任何变化,恢复到初始版本。有没有办法查看我在做什么?

【问题讨论】:

  • 通过 GIT - 没有。你可以通过 IDE 来做。 Jetbtains 工具支持本地历史功能。还要检查你的购物篮)
  • @IlyaMokin git fsck 怎么样?也许它可以帮助?
  • 您的文件是否在之前的提交中提交过?
  • @ToughCookie git fsck 只对自己数据库中的对象进行操作,而不是对工作目录中的文件进行操作。
  • @MuhammadZahabAhmadKhan 是的,它是,不是一个新文件

标签: git


【解决方案1】:

取决于您的 IDE。如果您使用的是 Jetbrains,请在文件菜单中查找本地历史记录,看看它是否存储了这些更改。

编辑 - 为避免将来出现这种情况,请考虑使用以下两个插件之一:

https://marketplace.visualstudio.com/items?itemName=micnil.vscode-checkpoints

https://marketplace.visualstudio.com/items?itemName=xyz.local-history

请注意,这可能会导致 VS Code 混淆,有关详细信息,请参阅以下答案: How to see local history changes in Visual Studio Code?

【讨论】:

  • 我正在使用 VS Code
  • 右键项目项或文件夹,点击Local History,显示我相信的历史
  • 没看到。我应该有一个扩展吗?
【解决方案2】:

我删除了一个文件但没有提交

$ git checkout HEAD "filename"

我删除了一个文件并提交了删除操作

$ git reset --hard HEAD~1

我提交了删除,然后我做了更多的提交

$ git log -- <filename>
$ git checkout <commit hash> -- <filename>
$ git checkout <deletion commit hash>~1 -- <filename>

我删除了一个文件,提交并推送了

$ git revert --no-commit <commit>

这里是reference

【讨论】:

猜你喜欢
  • 2015-12-01
  • 2013-10-09
  • 2017-11-27
  • 2014-01-02
  • 2012-09-10
  • 1970-01-01
  • 2011-12-26
  • 1970-01-01
  • 2021-12-31
相关资源
最近更新 更多