【问题标题】:Reverting commited changes for local changes为本地更改恢复已提交的更改
【发布时间】:2016-03-15 09:58:57
【问题描述】:

我对一个 repo 做了很多修改。

更改完成后,我完成了一个阶段,暂存所有这些更改。然后在本地提交它们。

完成后,我尝试推送,但 repo 已更改。

然后我在主服务器上完成了一个变基(而不是合并)。这发现了一个小型 JSON 文件的冲突。

这是唯一显示的冲突,我单击继续(我认为)会将其合并。但是,我的提交现在已被推送,只有单个文件更改。

其他文件更改已消失。有没有办法让那些回来?

【问题讨论】:

    标签: git git-commit git-revert


    【解决方案1】:

    只要您提交了所需的更改,您就可以取回这些更改。

    1. 您需要知道哪些提交哈希与这些更改相关联。要找出答案,您可以发送git log
    2. 找到必要的提交哈希后,您可以通过执行 git checkout commit-hash 检出该提交中的所有文件(其中“commit-hash”是您找到的哈希),或者您可以将单个文件检出到存储库中通过 git checkout commit-hash path-to-file 执行当前状态。

    【讨论】:

    • 谢谢,我使用了 git-reflog 进行了更改。出于某种原因,git log 只显示了已被推送/拉取的提交,而我只是专门寻找本地提交。谢谢
    猜你喜欢
    • 2017-05-28
    • 2014-12-11
    • 1970-01-01
    • 1970-01-01
    • 2011-03-15
    • 2020-05-15
    • 1970-01-01
    • 2022-08-18
    • 2017-12-05
    相关资源
    最近更新 更多