1、在master分支上执行git revert命令,回滚代码,并记录下此次操作生成的commit id,记为revertID。2、切换到test分支,执行git merge master命令,将master的代码合并到test分支,此时test分支已包含了先前revert的记录。3、在test分支上执行git revert -n revertID命令,将master分支上执行revert操作的版本...
revert 命令可以在不删除任何提交的情况下撤销某一个提交。revert 命令会创建一个新的提交,该提交包含回退操作的反向修改,以撤销之前的提交。这样做不会改变 Git 仓库的历史记录,因此适用于公共分支上的工作回退。 一般来说,如果想要回退到旧的提交并丢弃旧的提交之后的所有修改,可以使用 reset 命令,而如果想要在不...
master主分支上线后,发现线上问题需要回滚代码,于是master主分支执行了revert,之后再合并test分支就合并不上了 原因: git依据提交纪录确定哪些改动哪些没改,不会对比两个分支的代码结构 解决方案: test分支执行merge master,然后在test分支上将revert所生成的commit id再revert一次 ...
首先,使用git log命令查看最近的提交历史,找到合并的提交。复制合并提交的commit ID。 在命令行中,切换到需要撤消合并的分支。例如,如果要撤消merge到主分支的提交,可以使用git checkout 主分支命令。 使用git revert -m 1 合并提交的commit ID命令来撤消合并。其中,-m参数用于指定要撤消的父提交,通常为1表示撤消m...
git merge bugFix 我们可以看到我们现在所在的C4(master*)同时指向了C2(bugFix分支)与C3(原先的master分支),C2与C3又同时指向了C1,C1又指向了C0(也就是最开始的root),也就是说目前的C4(master*)包含了这个repo仓库里面所有的内容了。 当然,我们这种分支合并是比较常见的,但是我们还可以这样做—— ...
通常提交代码后会产生一个commit,但merge操作与普通的commit有一些差别,如下图: 直接用git revert commit 撤消merge操作时会出错,因为git不知道要保留merge时的哪个分支,这时候就需要指定分支: git revert -m 1/2 merge_commit 1
revertis the command we use when we want to take a previouscommitand add it as a newcommit, keeping thelogintact. Step 1: Find the previouscommit: Step 2: Use it to make a newcommit: Let's make a newcommit, where we have "accidentally" deleted a file: ...
所以我们应该在master回滚前,回到dev1分支,先merge一次最新代码,再执行后面的操作。 总结 总结起来流程很简单。 1.保持你要开发的分支同步了master最新代码。 2.revert所有该分支的提交。 3.回到你的分支merge master。 4.revert merge master的那次提交。
你可以git revert -m 1 285d8d69。 请注意,稍后您将无法合并该分支中的任何提交,因为尽管合并的效果将被撤消,但合并的拓扑结构将保持不变(此时您对此无能为力)。这是在https://github.com/git/git/blob/master/Documentation/howto/revert-a-faulty-merge.txt的著名解释中详细讨论的情况,该解释为以后执行合并...
fatal: refusing to merge unrelated histories 这就是 git revert 出现的原因。与通过变基或硬/软重置删除提交不同,revert 命令创建一个新提交以撤消目标提交引入的任何更改: git revert <hash-id> 假设在 master 分支上,想要用 beb7c13 的哈希恢复提交: ...