然后在master上执行merge develop: 生成 merge commit: 905400a,把develop的commitmerge过来。 然后在调用一个git revert -m X 1dcac04生成c165798 首先对于普通commit来说,revert是把这个commit的内容丢弃,而对于merge commit来说,revert操作会把这个merge引发的所有commit都丢弃。 在前面例子中:merge commit涉及4个c...
-m 1 就是告诉 git,第一个提交是 A 分支的上次提交。如果是-m 2,就是告诉他第二个提交才是 A...
1. git revert命令:git revert命令用于撤销指定的提交,并创建一个新的提交来反转之前的更改。例如,如果要撤销最后一次合并提交,可以使用以下命令: “` git revert -m 1 <合并提交的hash> “` 其中,`-m 1`表示撤销主分支上的更改,`<合并提交的hash>`是合并提交的哈希值。 2. git reset命令:git reset命令...
方法一:使用git revert命令回滚merge 1. 首先,使用git log命令查看合并提交的提交历史,找到需要回滚的合并提交的commit hash值。例如,假设我们要回滚的合并提交的commit hash为ABC123。 2. 接下来,使用git revert命令回滚合并提交。命令格式为:git revert -m,其中为合并提交中的父提交编号,一般为1或2,为要回滚的...
git revert 撤销某次操作,此次操作之前和之后的commit和history都会保留,并且把这次撤销作为一次最新的提交 撤销commits bash 复制代码 git revert -n'commit id' 撤销某次merge 保留本分支内容,撤销'commit id'对应的内容 bash 复制代码 git revert -m 1'commit id'...
我们通过git revert xxx命令回滚某次merge过的commit,此时会报错commit is a merge but no -m option was given.,这是因为当前的merge commit其实包含了两个子commit,也就是当时合并的两个commit,因此在执行git revert的时候会失败,需要选择回滚具体的两个子commit中的一个才可以正常回滚。
要使用git revert撤消merge,可以按照以下步骤操作: 首先,使用git log命令查看最近的提交历史,找到合并的提交。复制合并提交的commit ID。 在命令行中,切换到需要撤消合并的分支。例如,如果要撤消merge到主分支的提交,可以使用git checkout 主分支命令。 使用git revert -m 1 合并提交的commit ID命令来撤消合并。其中...
直接用git revert commit 撤消merge操作时会出错,因为git不知道要保留merge时的哪个分支,这时候就需要指定分支: git revert -m 1/2 merge_commit 1/2:比如merge时是将dev合并到master,通常情况下1就表示master,2则表示dev,实在不好区分直接看log中Merge后的两个短commit_id,顺序分别就是1 2 ...
master主分支上线后,发现线上问题需要回滚代码,于是master主分支执行了revert,之后再合并test分支就合并不上了 原因: git依据提交纪录确定哪些改动哪些没改,不会对比两个分支的代码结构 解决方案: test分支执行merge master,然后在test分支上将revert所生成的commit id再revert一次 ...
2. 为什么在使用git revert合并提交时需要-m选项 合并提交(merge commit)在Git中是一个特殊的提交,它有两个父提交:一个是当前分支的最后一个提交,另一个是合并进来的分支的最后一个提交。由于合并提交有两个父提交,Git不知道在撤销合并时应该考虑哪个父提交作为“主线”。因此,-m选项用于指定在撤销合并时应该考虑...