暂时切换到不同的提交,再次提交并返回到原始提交

问题描述 投票:0回答:1

我有一个名为

develop
的分支,我正在其中提交
c08e2887
。我必须返回到旧的提交
6a73b96e
,对旧的提交进行一些更改,再次提交(我们称之为
abc
)并将其推送到我的远程分支
develop
。稍后,我需要在本地和远程返回我的(当前)提交
c08e2887

我推送提交的远程分支

abc
应该具有相同的名称
develop
,它不能是不同的,因为我需要运行一些依赖于它的其他进程。

最好的方法是什么?

或者,以下内容可以完成这项工作吗?

从当前分支

develop
在提交
c08e2887
开始,我在想:

  • 创建一个名为
    new_version
    的新分支作为当前状态的备份
  • 在分支
    develop
    git checkout 6a73b96e
    返回到所需的提交
  • 进行更改,提交并推送到远程
    develop
    :现在本地和远程分支都在提交
    abc
  • 运行依赖于远程分支的进程
    develop
  • 从本地分支
    develop
    提交
    abc
    ,创建一个名为
    old_version
    的新分支作为备份
  • 删除本地分支
    develop
  • 从本地分支
    new_version
    ,创建一个(现在是新的)分支
    develop
    (这将等于我在所有此过程之前拥有的分支)
  • 将此(新)分支
    develop
    推送到远程分支
    develop
    以远程返回我之前的分支
  • 删除本地分支
    new_version
git version-control branch commit
1个回答
0
投票

您的建议可以完成工作,但涉及一些不必要的步骤。这是一个较短的版本:

git checkout -b quickfix 6a73b96e # create a new branch from your old commit
# make changes
git commit -m 'these are my changes for commit abc'
git push +quickfix:develop # force-push quickfix over develop
# run whatever things you need to run in your remote repository
git push +develop:develop # force-push to restore your original develop
© www.soinside.com 2019 - 2024. All rights reserved.