git的常见命令 - 本地merge两个远程分支

场景

远程有两个分支release和master,两个分支各有各的提交。直接merge,会有冲突。希望在本地处理冲突后,再merge。
本地有分支master。

解决

  1. git branch --track origin/release
  2. git checkout master
  3. git merge --no-ff release

然后就可以在本地解决冲突,提交了。

解释:

  • git branch --track origin/release
    在本地新建一个同名分支(release),自动跟踪远程的分支release
  • git merge --no-ff release
    使用–no-ff参数后,会执行正常合并,在master分支上生成一个新节点。为了保证版本演进的清晰,我们希望采用这种做法

补充

查看本地分支和对应的远程分支?
git branch -vv

删除本地分支?
git branch -d release

同步本地分支和远程分支?
git pull 或 git fetch
git pull --all 或 git fetch --all // 同步所有分支

git pull 和 git fetch的区别?
git fetch 是将远程主机的最新内容拉到本地,用户在检查了以后决定是否合并到工作本机分支中。 而 git pull 则是将远程主机的最新内容拉下来后直接合并,即: git pull = git fetch + git merge ,这样可能会产生冲突,需要手动解决。

优雅的撤销某次提交【中间的某次也可以】
git revert

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值