git - 如何回滚 GIT 中某个分支的所有提交?
问题描述
我在 08/01 "12345-Fix" 从 master 创建了新分支
- 08/01 在本地提交 1
- 08/02 在本地提交 2
- 08/03 在本地提交 3
我在 08/04 "56789-Fix" 从 / master 创建了新分支
- 08/04 在本地提交 4
- 08/05 在本地提交 5
08/05 我将“56789-Fix”分支代码推送到远程主分支,因此这将提交 4 和提交 5 都推送到了主分支。
于 08/06 开始重新处理“12345-Fix”
- 08/06 在本地提交 6
- 08/07 在本地提交 7
2007 年 8 月,我将“12345-Fix”分支代码推送到远程 master,因此这将所有 5 个提交(1、2、3、6、7)推送到 master 分支。
现在,当我在 Github 中查找时,提交列表显示为
- 提交 7 08/07
- 提交 6 08/06
- 提交 5 08/05
- 提交 4 08/04
- 提交 3 08/03
- 提交 2 08/02
- 提交 1 08/01
我的问题是,如果我只想从 master 分支回滚“12345-Fix”分支代码,我该怎么做?我知道我可以回滚到某个提交“提交 1”,但它会回滚提交 4 和提交 5 的“56789-Fix”,我不想回滚。
有什么建议么?
解决方案
由于提交已被推送,您将需要创建一个或多个新提交以撤消提交 1、2、3、6 和 7 的影响。执行此操作的命令是git revert
.
我想做类似的事情
git revert --no-commit 1 2 3 6 7
然后检查 by 所做的更改git revert
是否是您想要的更改,然后使用正常的git commit
.
您将需要在命令中正确识别每个提交,并且不能使用所示的数字。我建议使用每个提交 ID 的前几个字符代替我上面显示的每个小整数,或者如果您有信心,可以使用修订范围。
推荐阅读
- swift - swift中的减号(无法读取数据)
- python - 如何使用 python 在 MS Word 中创建/修改动态目录
- javascript - gulp version.match -> 无法读取属性“匹配”
- java - 如何使用多线程来创建 gremlin 边缘
- aframe - A-frame 'look-at' 组件可以查看默认相机吗?
- r - Julia 循环和 R 循环一样慢
- asp.net - 将多个数据集传递给视图 [MVC]
- java - 在 C# 中使用 SHA1 算法将 ComputeHash 转换为 Java
- python - 使用 Flask 和 sqlalchemy 插入到 Db2
- android - 如何在 Android Studio 的 Firebase 数据库中检索 1 个子项下的数据列表