阅读 3550

git创建本地与远程分支的同步与合并

  • 首先 git branch查看本地分支信息 , git branch -a 查看所有分支(包括远程 remote)此时还没有其他分支信息,接下来创建本地,远程分支后再来对比就一目了然了。
$ git branch
* master
复制代码
$ git branch -a
*master
remotes/origin/ -> origin/master
remotes/origin/master
复制代码

​ *星号表示当前所在分支 remote 表示远程分支

  • 当然也可以通过 git status 查看当前分支
$ git status
On branch master
Your branch is up-to-date with 'origin/master'.
nothing to commit, working tree clean
复制代码
  • 先建立本地分支

    $ git checkout -b branch_dev 创建本地分支并切换到新建分支,等同于下面两行

    分开操作:

    1. 创建本地分支 git branch branch_dev
    2. 切换到新创建的分支git checkout branch_dev

    使用git branch 看到已经切换到新建本地分支

    $ git branch
      master
    * branch_dev
    复制代码
  • 将新建的本地分支关联到远程分支(push 即可,push之后才可以pull)

    $ git push origin branch_dev:branch_dev
    复制代码

    branch_dev:branch_dev 是不是有点迷?

    第一个其实是本地分支的名,冒号后面是要创建的远程分支名,自己另起名称随便

    而且如果直接使用 $ git push origin branch_dev 则默认和远程分支同名

    好了,已经新建好本地与远程同步的分支,运行命令查看远程分支已经存在,大功告成!

    $ git branch -a
     master
    *branch_dev
     remotes/origin/HEAD -> origin/master
     remotes/origin/master
     remotes/origin/branch_dev
    复制代码

    那如何删除分支呢?

  • 删除新建的本地分支

    $ git branch -d branch_dev
    复制代码
  • 删除新建的远程分支

    $ git branch -r -d origin/branch_dev 
    or
    $ git push origin :branch_dev
    复制代码

    第二种push为空,相当于删除该分支(但其实应该存在只是无内容?自己动手试一下)

  • 合并分支

    checkout 切换到master,然后将所需的分支并入,注意:切换过程中,暂缓区或工作目录存在未提交的修改,可能会造成冲突的的发生,所以尽量保持工作区的清洁

    $ git checkout master
    $ git merge branch_dev
    复制代码
  • 墙裂推荐该文档学习git 命令 很详细透彻