zoukankan      html  css  js  c++  java
  • 【Git入门之八】分支管理

    【Git入门之八】分支管理 - JackyStudio - 博客频道 - CSDN.NET

    1.分支又是神马?

    我为什么说又是。。。

    分支就是一个我们能通过它创建出独立代码副本的东东。建立一个git仓库时,它会默认帮我们创建一个主分支,叫做master,之前所有的介绍我们都是在mater上面进行操作的。

    这是一个最简单的分支模型,本文也基于此模型。每个点代表一个版本,master代表默认主分支,而branch代表新建的分支,HEAD可以认为是一个移动的指针,它指向谁,谁就是当前版本。



    2.显示分支

    通过《git branch》可以显示分支,前面带*号的表示当前所在的分支。

     

    [cpp] view
    plain
    copy
     
    1. #显示分支  
    2. $Snbsp;git branch  
    3. * master  

    3.创建分支

    通过《git brach 分支名》可以创建一个新的分支。

     

     
    1. #创建分支br  
    2. $Snbsp;git branch br  

    4.切换分支

     

     
    1. #切换到br分支  
    2. $Snbsp;git checkout br  
    3. Switched to branch 'br'  

    5.修改分支内容并提交

     

     
    1. #修改br分支中的Jackydata01  
    2. $Snbsp;echo "Im in br now" > Jackydata01  
    3.   
    4. #提交br分支中的修改  
    5. $Snbsp;git commit -a -m "modify in br"  
    6. [br 9ad62b7] modify in br  
    7.  1 file changed, 1 insertion(+), 1 deletion(-)  
    8.   
    9. #显示br中Jackydata01内容,成功修改  
    10. $Snbsp;cat jackydata01  
    11. Im in br now  

    6.返回主分支,确认修改

    发现主分支master的内容并无修改,在分支中修改提交内容并不会影响其他分支。

     

     
    1. #切换到master  
    2. $Snbsp;git checkout master  
    3. Switched to branch 'master'  
    4.   
    5. #显示br中Jackydata01内容,无修改  
    6. $Snbsp;cat jackydata01  
    7. Hi Jackygit2  

     

    7.推送分支到远程仓库

    默认情况下,git只会推送已匹配的分支,所以如果新建分支,需要手动推送到远程仓库。我们这里推送到github。

     
    1. #推送br到github的br上,如果不存在则新建,存在则更新  
    2. $Snbsp;git push git_github br:br  
    3. Counting objects: 5, done.  
    4. Delta compression using up to 2 threads.  
    5. Compressing objects: 100% (2/2), done.  
    6. Writing objects: 100% (3/3), 265 bytes | 0 bytes/s, done.  
    7. Total 3 (delta 1), reused 0 (delta 0)  
    8. To git@github.com:fusijie/JackyGit.git  
    9.  * [new branch]      br -> br  

    一旦这个分支被推送到远程仓库,那以后直接《git push 目标》就可以把所有分支都推送上去了。 

    8.本地合并分支

    使用git merge 分支名来合并分支,不过前提是要先切换到master上,如果在br上合并是没用的。

     

     
    1. #合并br到主分支上  
    2. $Snbsp;git merge br  
    3. Updating 6937dbd..9ad62b7  
    4. Fast-forward  
    5.  Jackydata01 | 2 +-  
    6.  1 file changed, 1 insertion(+), 1 deletion(-)  



    9.合并本地分支到远程分支

    合并本地的br分支到远程仓库的master分支。

     
    1. #把本地的br分支合并到远程仓库的master中  
    2. $Snbsp;git push git_github br:master  
    3. Total 0 (delta 0), reused 0 (delta 0)  
    4. To git@github.com:fusijie/JackyGit.git  
    5.    61a92ec..be39e3f  br -> master  

     

    10.删除分支

    删除分支使用《git branch -d 分支名》来删除,如果分支被修改提交过但是没有被合并,那需要使用《git branch -D 分支名》来删除。

     

     
    1. #删除br分支  
    2. $Snbsp;git branch -d br  
    3. Deleted branch br (was 9ad62b7).  
    4.   
    5. #确认当前分支  
    6. $Snbsp;git branch  
    7. * master  

    11.删除远程分支

     

     
    1. #删除远程br分支  
    2. $Snbsp;git push git_github :br  
    3. To git@github.com:fusijie/JackyGit.git  
    4.  - [deleted]         br  

    12.显示远程分支

    可以使用-a显示所有分支或-r参数来显示远程分支

     

     
    1. #显示远程分支  
    2. $Snbsp;git branch -a  
    3. * master  
    4.   remotes/git_github/master  
    5.   testremote/maste  

    13.克隆远程分支到本地

    《git checkout -b 分支名》表示本地创建分支并切换到该分支。

     

     
    1. $在本地新建br分支,并把远程分支br克隆到本地br  
    2. $Snbsp;git checkout -b br git_github/br  
    3. Branch br set up to track remote branch br from git_github.  
    4. Switched to a new branch 'br'  
  • 相关阅读:
    易普优高级计划排程Light版助力中小企业实现精益化计划
    06易普优APS行业方案:包装印刷行业高级计划排程
    APS高级计划排程系统应该支持的企业应用场景
    易普优APS应用案例:线束行业生产计划排产
    某PCBA企业应用易普优APS实现高级计划排程案例
    APS高级计划排程系统应该支持的企业应用场景
    oracle 字符串分割
    速度极快的导出excel
    dev winform导出功能
    sql with as union all
  • 原文地址:https://www.cnblogs.com/seven1979/p/4257307.html
Copyright © 2011-2022 走看看