暂时恢复到先前的提交,进行更改,保留更改并返回到最新的提交?

Posted

技术标签:

【中文标题】暂时恢复到先前的提交,进行更改,保留更改并返回到最新的提交?【英文标题】:Temporarily revert to previous commit, make changes, keep the changes and come back to latest commit? 【发布时间】:2020-02-01 04:41:28 【问题描述】:

从标题可以看出,我需要对此提出自己的问题的原因是我无法完全正确地使用术语来正确搜索。

我在 Sourcetree 中使用 Git,并说我有提交历史

F <- I am here
E
D
C
B
A

我需要做的是恢复工作环境以提交 C。然后,对代码进行一些更改和添加(为正在开发的应用程序导出快速补丁),然后返回 F,保留更改我做了。

我觉得我需要结帐 C,但目前不确定,并且在我得到更好的理解之前,我不希望一切都无聊。

编辑:我想我可以结帐 C,进行更改。隐藏更改。返回 F。然后应用/提交存储?

【问题讨论】:

你想做一个交互式变基。使用它作为搜索词,您会在这里找到很多答案。 How can I easily fixup a past commit?的可能重复 【参考方案1】:

    在“F”中提交您当前的所有更改。

    从“C”创建一个分支:git checkout C -b C-branch

    做任何你需要的事情并提交你的更改:git commit

    再次查看“F”:git checkout F

    与 C 分支合并:git merge C-branch

【讨论】:

以上是关于暂时恢复到先前的提交,进行更改,保留更改并返回到最新的提交?的主要内容,如果未能解决你的问题,请参考以下文章

修改不是先前提交的提交[重复]

更新恢复到 Access 数据库中的先前条目

如何恢复从一个分支合并的所有提交

git revert 合并策略的问题(他们的)

如何将项目恢复到android studio中的先前提交

GIT:编辑旧提交中的暂存文件但保留更改