我对git repo做了一些更改并做了一些提交。这是我想要做的,说我的git历史记录看起来像HEAD - > c1 - > c2 - > c3 - > c4。 问题 1)现在,如果我还原c1,它是否会还原所有c2,c3,c4?我的理解是只回复c1,并保持c2,c3,c4不变。 2)现在我想恢复所有的c1,c2,c3和c4,并移回到HEAD。做这个的最好方式是什么。Git:恢复旧的提交
1
A
回答
1
恢复将创建一个提交,该提交将撤销要恢复的修订的更改。
所以,如果你这样做:
git revert c1
您将结束:
revertC1 - >(以前HEAD) - > C1 - > C2 - > C3 - > C4 ...
它只会恢复提交更改。
因此,对于您的情况,您要删除四次提交previos到HEAD:
HEAD - > C1 - > C2 - > C3 - > C4
这是相同的为:
HEAD - > HEAD〜1 - > HEAD〜2 - > HEAD〜3 - > HEAD〜4
如果您想在当前的提交之前删除四个提交。你可以做
git revert HEAD~5..HEAD~1
系统会提示您为每个恢复创建提交消息,也许可以解决冲突。
在你HAVE未按更改,我会做什么,以保持历史日志清洁会区分:
撤消当前提交,并保持代码的修改
git reset --soft HEAD~1
商店代码改变
git stash
撤消过去四年提交和删除代码更改
git reset --hard HEAD~4
确保我删除所创建的任何文件和目录
git clean -di
重新申请从顶部的变化犯下这是我想继续的情况下,
git stash pop
*解决冲突的一个将会有 当没有冲突时。提交我的更改
git commit -am "My new changes"
如果准备推送,请按。
git push
只有在您没有压下您的更改时才会这样。
0
如果您将c1恢复为c1状态,但它会创建新的提交(c5),并将所有更改从c4更改为c1。
[HEAD]--> c1 --> c2 --> c3 --> c4 --> c5 (c1 state)
|__________________________/\
revert
相关问题
- 1. Git如何恢复旧提交
- 2. 从多个git rebases恢复“旧提交”
- 3. 恢复git提交
- 4. GitHub:恢复旧提交
- 5. git恢复已提交的提交
- 6. Git恢复本地提交
- 7. GIT:恢复上次提交?
- 8. 如何恢复到Git中较旧的提交?
- 9. 恢复特定的旧提交
- 10. 恢复git中的多次提交
- 11. Git - 恢复丢失的提交
- 12. 恢复git中的一系列提交
- 13. 恢复Git中的几个提交
- 14. git:从提交恢复文件
- 15. 恢复Git仓库/提交等
- 16. 如何恢复本地提交git
- 17. git恢复到某个提交
- 18. 恢复(没有分支)git提交
- 19. Git + Intellij - 如何恢复本地提交?
- 20. 如何恢复从git提交更改?
- 21. Git合并主无需恢复提交
- 22. 恢复丢失远程git提交
- 23. 如何恢复初始git提交?
- 24. 如何在git中恢复提交?
- 25. Git根据它恢复一个其他提交的提交
- 26. 从远程git存储库中恢复未提交的提交
- 27. 如何查看项目的git历史并恢复到较旧的提交?
- 28. Git:如何通过一次提交恢复一系列提交
- 29. 告诉Git提交是否合并/恢复提交
- 30. 无法git克隆后立即恢复到较旧的提交(无需更改)
这是非常有帮助的。谢谢一堆。 – Blanc
很高兴我能帮到你。如果这有助于您解决问题,请将其标记为已接受的答案:D – lebobbi