【发布时间】:2015-03-09 20:51:08
【问题描述】:
我正面临着我想从主存储库中删除我的提交。代码已经推送了我不需要的本地更改。那么我该如何恢复呢。我也在使用源代码树和 git。请帮帮我。
【问题讨论】:
-
将你的本地master移动到正确的位置并按下-f。
我正面临着我想从主存储库中删除我的提交。代码已经推送了我不需要的本地更改。那么我该如何恢复呢。我也在使用源代码树和 git。请帮帮我。
【问题讨论】:
试试git revert。它不会更改历史记录,而是通过将反向操作作为新提交应用于源来“取消”单个提交。
您可以使用 .. 语法 (detailed explanation) 为 revert 指定提交范围:
git revert -n abcd1234..fedc0987
(n 标志防止自动提交。abcd... 代表唯一的提交 ID 哈希。)
【讨论】:
git log,您可以看到 Git 存储库中每个提交的唯一哈希。在源树上,我认为在每个提交的信息中应该有唯一的哈希值。我以abcd... 为例。
..) 的详细说明,请查看 progit book 中的this chapter。我还用参考文献编辑了答案。