我使用git revert
撤销已提交并推送到我的开发分支的更改(这是我第一次使用此命令)并且一切顺利,但我需要知道是否有可能:保持开发的方式,但暂时取回这些变化,然后将它们添加到一个新的分支(不想在开发这个工作)?在git恢复并移动到单独分支后取回更改
回答
我建议cherry-pick
你提交到新的分支(如果重置是不可能的)。
- 运行
git log
并复制尚未恢复的提交的散列。 git checkout
你的新分支。- 运行
git cherry-pick <copied-commit-hash>
你会得到完全新的不同的哈希提交。
有没有分配新哈希的好处?我想知道,因为这段代码在某些时候会被合并回开发者(仍然试图弄清楚git是如何工作的) – zero
我认为它是存在的。基本上你需要恢复恢复以保持历史可以理解。所以它应该是新的提交。 – peresleguine
合并后,您的更改看起来是合理的:提交 - >恢复 - >再次提交。 – peresleguine
这个完美工作: How do I create a new git branch from an old commit?
刚检查出来的一个新的分支创造的一部分。这很简单。
这种方法的缺点:如果您随后与dev合并(在任一方向),恢复提交将成为合并的一部分,最多只会让您发生冲突,或者最坏情况下会再次撤消这些更改。恢复回复会保护你免受这种情况的影响 – ComputerDruid
- 1. 移动合并提交回旧分支,恢复主分支并保持更改
- 2. 合并后的git分支恢复
- 3. GIT:如何在恢复合并后从分支中提取更改
- 4. git撤消推送合并恢复单独的分支
- 5. 恢复到git分支
- 6. 恢复分支git
- 7. 在分支中恢复git的回复,并且可读
- 8. 如何在Git恢复后合并分支
- 9. Git恢复更改
- 10. 成功拉取请求后更改分支并在Git中删除分支
- 11. Git:恢复我修改后的更改合并提交
- 12. 恢复已删除的git分支中丢失的更改
- 13. Git分歧的分支 - 恢复变化
- 14. 合并更改盖分支到主分支中的git
- 15. 恢复到最后一次提交的git的分支
- 16. 如何将更改从一个分支移动到另一个分支git?
- 17. 恢复合并分支
- 18. 在git中自动更改分支
- 19. 在Git中更改分支
- 20. Git恢复合并后保存更改--no-ff
- 21. 恢复到合并分支之前
- 22. 在Git重置后在不同分支上恢复
- 23. Git的合并合并后,并恢复
- 24. 在当前分支上进行所有更改并将它们移动到Git中的新分支中
- 25. 如何阻止git在分支之间移动我的更改?
- 26. GIT重置分支并删除合并后的所有更改
- 27. Tortoise GIT - 合并后显示在分支中创建的更改
- 28. 如何恢复我合并两个分支所做的更改
- 29. 恢复分支独有的提交
- 30. 切换Git分支并忽略更改
你究竟是如何使用'git revert'? – Alik
'git恢复' –
zero
有很多方法可以做到这一点。你可以选择提交到你的分支,或者你可以检查你的分支并恢复恢复提交。 – meagar