git merge 与git revert所产生的问题

本文探讨了在Git中使用merge和revert命令时可能遇到的问题,包括dev分支无新提交时在master分支重新merge,dev分支merge master分支,以及dev分支有新提交后master分支再merge dev的情况。通过详细分析不同场景,解释了为何会出现意想不到的结果,并给出了相应操作建议。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

git merge 与git revert所产生的问题

当执行git merge操作后再对合并节点进行git revert操作,此后再对相应的两条分支进行操作就会产生意想不到的问题。本文意在对此类情况进行讨论分析。

1. 初始化

$ git init	# 初始化仓库
Initialized empty Git repository in /Users/htw/Documents/tmp/test/.git/

$ touch master_1	# 在master创建文件master_1

$ git add .	

$ git commit -m 'add master_1'	# 提交
[master (root-commit) 074af34] add master_1
 1 file changed, 0 insertions(+), 0 deletions(-)
 create mode 100644 master_1

$ git lg		# 查看log
* 074af34 - (HEAD -> master) add master_1 (2 seconds ago) <htw112896>

$ git checkout -b dev	# 新建并切换到dev分支
Switched to a new branch 'dev'

$ touch dev_1		# 在dev创建文件dev_1

$ git add .

$ git commit -m 'add dev_1'	# 提交
[dev 1f73f04] add dev_1
 1 file changed, 0 insertions(+), 0 deletions(-)
 create mode 100644 dev_1

$ touch dev_2		# 在dev创建文件dev_2

$ git add .

$ git commit -m 'add dev_2'		# 提交
[dev 99cd6db] add dev_2
 1 file changed, 0 insertions(+), 0 deletions(-)
 create mode 100644 dev_2

$ git checkout master		# 切换到master分支
Switched to branch 'master'

$ git merge --no-ff dev		# --no-ff 合并dev分支
Merge made by the 'recursive' strategy.
 dev_1 | 0
 dev_2 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值