gpt4 book ai didi

Git Revert 然后提交但想在还原之前保留修订

转载 作者:太空狗 更新时间:2023-10-29 14:40:27 25 4
gpt4 key购买 nike

假设我的提交已经推送到 Github

A > B > C > D > E -- 头部

我想恢复到 B ,所以我使用

git reset --hard <B:Hash>

现在,它看起来像

A > B -- 头部

因此,如果我使用 git push --force 将其推送到服务器,我在存储库中丢失了 C、D、E

我怎样才能还原文件并提交为最后的修订版A > B > C > D > E > F

F = 还原:B

我不能使用 git commit因为它说没有要提交的文件。

最佳答案

试试这个:

git checkout B
git reset --soft E
git commit -m 'Reverted to B'

checkout 命令将更改工作树和索引以匹配提交 B。使用 --soft 重置将更改当前分支指向的提交,而不影响工作树或索引。换句话说,在重置命令之后,索引将处于与 B 提交完全相同的状态。


你也可以使用 git revert B..E,它会做同样的事情,除了它会为每个还原的提交创建一个新的提交。如果您希望在一次提交中发生还原,只需添加 -n 选项(git revert -n B..E),Git 就会将还原应用到工作中目录和索引。提交结果完成回滚。

关于Git Revert 然后提交但想在还原之前保留修订,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7254733/

25 4 0
文章推荐: git - 如何在允许维护人员使用自定义版本的同时在 Git 存储库中保留默认配置文件?
文章推荐: html - 如何调整 DropDown