【git相关3】分支管理

来源:互联网 发布:匿名领航者飞控源码 编辑:程序博客网 时间:2024/06/05 20:20

1 查看远程分支

[plain] view plain copy
print?
  1. &nbsp;git&nbsp;branch&nbsp;-a&nbsp;&nbsp;</span></span></li><li class=""><span>*&nbsp;br-2.1.2.2&nbsp;&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;master&nbsp;&nbsp;</span></li><li class=""><span>&nbsp;&nbsp;remotes/origin/HEAD&nbsp;-&gt;&nbsp;origin/master&nbsp;&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;remotes/origin/br-2.1.2.1&nbsp;&nbsp;</span></li><li class=""><span>&nbsp;&nbsp;remotes/origin/br-2.1.2.2&nbsp;&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;remotes/origin/br-2.1.3&nbsp;&nbsp;</span></li><li class=""><span>&nbsp;&nbsp;remotes/origin/master&nbsp;&nbsp;</span></li></ol><div class="save_code tracking-ad" data-mod="popu_249" style="display: none;"><a href="javascript:;"><img src="http://static.blog.csdn.net/images/save_snippets.png"></a></div></div><pre code_snippet_id="211061" snippet_file_name="blog_20140228_1_9064360" name="code" class="plain" style="display: none;"> git branch -a* br-2.1.2.2 master remotes/origin/HEAD -> origin/master remotes/origin/br-2.1.2.1 remotes/origin/br-2.1.2.2 remotes/origin/br-2.1.3 remotes/origin/master

    2 查看本地分支

    [plain] view plain copy
    print?
    1. shuohailhl@SHUOHAILHL-PC /f/ggg/jingwei (br-2.1.2.2)  
    2. $ git branch  
    3. * br-2.1.2.2  
    4.   master  
    shuohailhl@SHUOHAILHL-PC /f/ggg/jingwei (br-2.1.2.2)$ git branch* br-2.1.2.2  master

    3 创建分支

    [plain] view plain copy
    print?
    1. shuohailhl@SHUOHAILHL-PC /f/ggg/jingwei (br-2.1.2.2)  
    2. &nbsp;git&nbsp;branch&nbsp;test&nbsp;&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;</span></li><li class=""><span>shuohailhl@SHUOHAILHL-PC&nbsp;/f/ggg/jingwei&nbsp;(br-2.1.2.2)&nbsp;&nbsp;</span></li><li class="alt"><span> git branch  
    3. * br-2.1.2.2  
    4.   master  
    5.   test  
    shuohailhl@SHUOHAILHL-PC /f/ggg/jingwei (br-2.1.2.2)$ git branch testshuohailhl@SHUOHAILHL-PC /f/ggg/jingwei (br-2.1.2.2)$ git branch* br-2.1.2.2  master  test


    线面是把分支推到远程分支 

    [plain] view plain copy
    print?
    1. &nbsp;git&nbsp;push&nbsp;origin&nbsp;test&nbsp;&nbsp;</span></span></li></ol><div class="save_code tracking-ad" data-mod="popu_249" style="display: none;"><a href="javascript:;"><img src="http://static.blog.csdn.net/images/save_snippets_01.png"></a></div></div><pre code_snippet_id="211061" snippet_file_name="blog_20140708_4_1702191" name="code" class="plain" style="display: none;"> git push origin test
      4 切换分支到test

      [plain] view plain copy
      print?
      1. shuohailhl@SHUOHAILHL-PC /f/ggg/jingwei (br-2.1.2.2)  
      2. &nbsp;git&nbsp;branch&nbsp;&nbsp;</span></li><li class="alt"><span>*&nbsp;br-2.1.2.2&nbsp;&nbsp;</span></li><li class=""><span>&nbsp;&nbsp;master&nbsp;&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;test&nbsp;&nbsp;</span></li><li class=""><span>&nbsp;&nbsp;</span></li><li class="alt"><span>shuohailhl@SHUOHAILHL-PC&nbsp;/f/ggg/jingwei&nbsp;(br-2.1.2.2)&nbsp;&nbsp;</span></li><li class=""><span> git checkout test  
      3. M       jingwei-server/src/main/java/com/taobao/jingwei/server/service/cmd/GetCustomerTarCmd.java  
      4. M       jingwei-server/src/main/java/com/taobao/jingwei/server/util/ServerUtil.java  
      5. Switched to branch ‘test’  
      6.   
      7. shuohailhl@SHUOHAILHL-PC /f/ggg/jingwei (test)  
      8. $ git branch  
      9.   br-2.1.2.2  
      10.   master  
      11. * test  
      shuohailhl@SHUOHAILHL-PC /f/ggg/jingwei (br-2.1.2.2)$ git branch* br-2.1.2.2  master  testshuohailhl@SHUOHAILHL-PC /f/ggg/jingwei (br-2.1.2.2)$ git checkout testM       jingwei-server/src/main/java/com/taobao/jingwei/server/service/cmd/GetCustomerTarCmd.javaM       jingwei-server/src/main/java/com/taobao/jingwei/server/util/ServerUtil.javaSwitched to branch 'test'shuohailhl@SHUOHAILHL-PC /f/ggg/jingwei (test)$ git branch  br-2.1.2.2  master* test

      M 表示cong 原来分支(上一次修改没有提交br-2.1.2.2)带过来的修改

      5 删除本地分支   git branch -d xxxxx

      shuohailhl@SHUOHAILHL-PC /f/ggg/jingwei (test)

      [plain] view plain copy
      print?
      1. &nbsp;git&nbsp;checkout&nbsp;br-2.1.2.2&nbsp;&nbsp;</span></span></li><li class=""><span>M&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;jingwei-server/src/main/java/com/taobao/jingwei/server/service/cmd/GetCustomerTarCmd.java&nbsp;&nbsp;</span></li><li class="alt"><span>M&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;jingwei-server/src/main/java/com/taobao/jingwei/server/util/ServerUtil.java&nbsp;&nbsp;</span></li><li class=""><span>Switched&nbsp;to&nbsp;branch&nbsp;'br-2.1.2.2'&nbsp;&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;</span></li><li class=""><span>shuohailhl@SHUOHAILHL-PC&nbsp;/f/ggg/jingwei&nbsp;(br-2.1.2.2)&nbsp;&nbsp;</span></li><li class="alt"><span> git br  
      2. * br-2.1.2.2  
      3.   master  
      4.   test  
      5.   
      6. shuohailhl@SHUOHAILHL-PC /f/ggg/jingwei (br-2.1.2.2)  
      7. &nbsp;git&nbsp;br&nbsp;-d&nbsp;test&nbsp;&nbsp;</span></li><li class=""><span>Deleted&nbsp;branch&nbsp;test&nbsp;(was&nbsp;17d28d9).&nbsp;&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;</span></li><li class=""><span>shuohailhl@SHUOHAILHL-PC&nbsp;/f/ggg/jingwei&nbsp;(br-2.1.2.2)&nbsp;&nbsp;</span></li><li class="alt"><span> git br  
      8. * br-2.1.2.2  
      9.   master  
      $ git checkout br-2.1.2.2M       jingwei-server/src/main/java/com/taobao/jingwei/server/service/cmd/GetCustomerTarCmd.javaM       jingwei-server/src/main/java/com/taobao/jingwei/server/util/ServerUtil.javaSwitched to branch 'br-2.1.2.2'shuohailhl@SHUOHAILHL-PC /f/ggg/jingwei (br-2.1.2.2)$ git br* br-2.1.2.2  master  testshuohailhl@SHUOHAILHL-PC /f/ggg/jingwei (br-2.1.2.2)$ git br -d testDeleted branch test (was 17d28d9).shuohailhl@SHUOHAILHL-PC /f/ggg/jingwei (br-2.1.2.2)$ git br* br-2.1.2.2  master

      6 查看本地和远程分支  -a。前面带*号的代表你当前工作目录所处的分支

      [plain] view plain copy
      print?
      1. remotes/origin/HEAD -> origin/master #啥意思呢?  
      remotes/origin/HEAD -> origin/master #啥意思呢?

              ”在clone完成之后,Git 会自动为你将此远程仓库命名为origin(origin只相当于一个别名,运行git remote –v或者查看.git/config可以看到origin的含义),并下载其中所有的数据,建立一个指向它的master 分支的指针,我们用(远程仓库名)/(分支名) 这样的形式表示远程分支,所以origin/master指向的是一个remote branch(从那个branch我们clone数据到本地)“

             这个是执行 git remote -v 的结果,看出来origin其实就是远程的git地址的一个别名。

      [plain] view plain copy
      print?
      1. &nbsp;git&nbsp;remote&nbsp;&nbsp;-v&nbsp;&nbsp;</span></span></li><li class=""><span>origin&nbsp;&nbsp;git@xxxx/jingwei.git&nbsp;(fetch)&nbsp;&nbsp;</span></li><li class="alt"><span>origin&nbsp;&nbsp;git@xxxx/jingwei.git&nbsp;(push)&nbsp;&nbsp;</span></li></ol><div class="save_code tracking-ad" data-mod="popu_249" style="display: none;"><a href="javascript:;"><img src="http://static.blog.csdn.net/images/save_snippets.png"></a></div></div><pre code_snippet_id="211061" snippet_file_name="blog_20140708_8_2878697" name="code" class="plain" style="display: none;"> git remote -vorigin git@xxxx/jingwei.git (fetch)origin git@xxxx/jingwei.git (push)

        [plain] view plain copy
        print?
        1. shuohailhl@SHUOHAILHL-PC /f/ggg/jingwei (test)  
        2. $ git branch -a  
        3.   br-2.1.2.2  
        4.   master  
        5. * test  
        6.   remotes/origin/HEAD -> origin/master  
        7.   remotes/origin/br-2.1.2.1  
        8.   remotes/origin/br-2.1.2.2  
        9.   remotes/origin/br-2.1.3  
        10.   remotes/origin/master  
        shuohailhl@SHUOHAILHL-PC /f/ggg/jingwei (test)$ git branch -a  br-2.1.2.2  master* test  remotes/origin/HEAD -> origin/master  remotes/origin/br-2.1.2.1  remotes/origin/br-2.1.2.2  remotes/origin/br-2.1.3  remotes/origin/master

        7 删除远程版本

        [plain] view plain copy
        print?
        1. git push origin :br-1.0.0  
        git push origin :br-1.0.0

        [plain] view plain copy
        print?
        1. 删除远程分支  
        2. git branch -r -d origin/branch-name  
        3. git push origin :branch-name  
        删除远程分支git branch -r -d origin/branch-namegit push origin :branch-name