卓象程序员:Git revert 的操作

2022-12-24 0 345

在 Git 合作开发中一般来说会掌控萨温齐组成部份的产品质量,但有时候却是会把严重错误的标识符合入到远距萨温齐。

尽管能间接格式化远距组成部份, 但有时候捷伊标识符也早已合入,间接格式化后前段时间的递交都要再次操作形式。

所以是不是只去除这类 Commit 的形式呢?能一场 revert操作形式来顺利完成

考量那个范例,他们递交了 6 个版,当中 3-4 包涵了严重错误的标识符须要被格式化掉。 与此同时期望不负面影响到先期的 5-6。

* xp2e0zh (HEAD -> master) version 6

* mpfl76c version 5

* y6gbrdo version 4, 严重错误2版

* 5hzcnfi version 3, 严重错误1版

* uty7ef2 version 2

* hc13k2j version 1

此种情形在项目组协同的合作开发中常很常用:可能将是业务流程或指出其原因不留神合入了严重错误的标识符, 也可能将是合入一两年后才辨认出存有难题。总而言之早已存有先期递交,使直接格式化不太现实生活。

上面的部份就已经开始如是说具体实施形式了,与此同时他们假定远距组成部份是受保护的(不容许 Force Push)。

路子从造成两个捷伊 Commit 撤消以后的严重错误递交。

采用 git revert <commit> 能撤消选定的递交,

要撤消两个个递交能用 <commit1>..<commit2> 句法。

特别注意:这是两个前开后闭区间,即不主要包括 commit1但主要包括 commit2。

git revert –no-commit uty7ef2..y6gbrdo

git commit -a -m This reverts commit uty7ef2 and y6gbrdo

当中 uty7ef2 是 version 2,

y6gbrdo 是 version 4,

这样被去除的是 version 3 和 version 4。

特别注意 :revert 命令会对每个撤消的 commit 进行一场递交,–no-commit 后能最后一起手动递交。

此时 Git 记录是这样的:

* orfi2je (HEAD -> master) This reverts commit uty7ef2 and y6gbrdo

* xp2e0zh version 6

* mpfl76c version 5

* y6gbrdo version 4, 严重错误2版

* 5hzcnfi version 3, 严重错误1版

* uty7ef2 version 2

* hc13k2j version 1

现在的 HEAD(orfi2je)就是他们想要的版,把它 Push 到远距即可。

卓象程序员:Git revert 的操作

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务