【问题标题】:How to restore previous files and changes如何恢复以前的文件和更改
【发布时间】:2021-06-02 13:31:04
【问题描述】:

我的工作流程是: 我在本地提交主分支,我推送更改。 我已经在 github 上自动合并并拉上 serwer。

我想恢复一些文件在初始化后第二次提交时的样子。 如何做到这一点?

【问题讨论】:

  • 您可以使用git checkout <commit/ref sha> <file>获取文件的特定版本。
  • 谢谢。以及在这个命令之后我应该做什么。我想将所有文件恢复为提交状态并推送、拉取。
  • 签出所有要提交的文件后,我推送,拉到服务器上:我得到:错误:您对以下文件的本地更改将被合并覆盖:错误:以下未跟踪的工作树文件将是被合并覆盖:中止
  • 似乎您没有在干净的 repo 上开始这一步。这里有这些步骤的更多细节:stackoverflow.com/questions/67726323/…

标签: git


【解决方案1】:

使用像git 这样的版本控制系统的优势在于它可以捕获整个历史记录,您可以随时返回特定快照中的代码。为此:

  1. 在历史记录中找到要从中获取文件的代码点。使用git log 并可能使用--all 来查找您要从中获取文件的sha 标识符的时间点。如果历史比较长,可以试试git log --graph --decorate --all --oneline

  2. 然后您可以使用git checkout SHAID 签出该时间点

  3. 如果你想经常回到这个时间点,你可以在那个时间点添加一个标签,这样你就可以轻松地返回:git tag MYTAG

  4. 做完任何你想做的事后,使用git checkout main再次回到主分支提示

【讨论】:

    猜你喜欢
    • 2011-10-21
    • 1970-01-01
    • 2011-08-14
    • 2012-02-26
    • 1970-01-01
    • 2013-08-12
    • 2011-02-13
    • 1970-01-01
    相关资源
    最近更新 更多