【发布时间】:2018-11-22 07:57:38
【问题描述】:
我有一个应该是简单的案例,但它让我感到迷惑,我在这里的任何其他答案中都没有找到任何实际有效的东西。
我有几个合并到master,我想回滚。我想要的最终结果是将master 设置回这些提交之前的状态,因此我可以从已知良好的分支推送以确保master 仅显示产品发布的代码。
这是日志:
my.username@mysystem MINGW64 /c/Git/REPOSITORY (master)
$ git log --oneline
e6a1eed (HEAD -> master, origin/master, origin/HEAD) Merge pull request #26
from PROGRAM/revert-24-int_project_2.1.0
b9b82f0 (tag: PROGRAM_project-2.0.0, origin/int_project_2.0.0,
int_project_2.0.0) Revert "Merge pull request #24 from
PROGRAM/int_project_2.1.0"
c4a6573 Revert "PROGRAM_project_2.0.0"
c3aa6d1 (tag: PROGRAM_project_2.0.0) Merge pull request #24 from
PROGRAM/int_project_2.1.0
**b7e583a** (tag: project_tag_2.1.0_01) Merge pull request #23 from
PROGRAM/dev_project_2.1.0
**54ecb7a** June 2.1.0 release.
**b67f981** Merge pull request #22 from PROGRAM/int_project_2.0.0
f9b81bc (tag: project_tag_2.0.0_04, origin/int_project_2.0.0fix,
int_project_2.0.0fix) Merge pull request #21 from PROGRAM/dev_project_2.0.0
这是我尝试恢复合并的结果(我已经恢复了一个合并 (#24),但后来发现还有两个需要去(#22 和 #23)。这是当我试图还原:
my.username@mysystem MINGW64 /c/Git/REPOSITORY (master)
$ git revert -m 1 b7e583a
On branch master
Your branch is up to date with 'origin/master'
nothing to commit, working tree clean`
有一次它抱怨我在远程仓库中发生了不在本地的更改,master 分支不应该是这种情况,因为除非在特定情况下,不应将任何内容推送到该分支,所以我'不知道为什么 git 应该关心其他分支发生的事情。我做了一个pull 并且那个投诉消失了,但我担心拉动会通过降低我正在恢复的提交来覆盖我的恢复。
我对 git 和 github 比较陌生,所以我在理解上还有很多空白需要填补,在这种情况下,我可能会遗漏一些通常被认为是已知的基本知识由更有经验的 git 用户编写。
【问题讨论】:
标签: git github commit git-branch revert