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

  • Post author:
  • Post category:其他




场景

远程有两个分支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



版权声明:本文为weixin_43924896原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。