zoukankan      html  css  js  c++  java
  • Git-第五篇廖雪峰Git教程学习笔记(4)分支

    1、一开始,只有一个主分支(master),HEAD指向Master,而Master指向主分支。现在我们创建dev分支。

    lfy@lfy-PC MINGW64 /c/fyliu/lfyTemp/gitLocalRepository/yangjie (master)
    $ git checkout -b dev
    Switched to a new branch 'dev'
    
    lfy@lfy-PC MINGW64 /c/fyliu/lfyTemp/gitLocalRepository/yangjie (dev)
    $

      git checkout命令加上-b参数表示创建并切换,相当于以下两条命令:

    $ git branch dev
    $ git checkout dev
    Switched to branch 'dev'

     然后,用git branch命令查看当前分支:

    lfy@lfy-PC MINGW64 /c/fyliu/lfyTemp/gitLocalRepository/yangjie (dev)
    $ git branch
    * dev
      master
    
    lfy@lfy-PC MINGW64 /c/fyliu/lfyTemp/gitLocalRepository/yangjie (dev)
    $

       git branch命令会列出所有分支,当前分支前面会标一个*号。然后,我们就可以在dev分支上正常提交,比如对readme.txt做个修改。

    lfy@lfy-PC MINGW64 /c/fyliu/lfyTemp/gitLocalRepository/yangjie (dev)
    $ vim readme.txt
    
    lfy@lfy-PC MINGW64 /c/fyliu/lfyTemp/gitLocalRepository/yangjie (dev)
    $ git add readme.txt
    
    lfy@lfy-PC MINGW64 /c/fyliu/lfyTemp/gitLocalRepository/yangjie (dev)
    $ git commit -m "branch test"
    [dev 1df3a8d] branch test
     1 file changed, 1 insertion(+)
     create mode 100644 readme.txt

       切换到master分支。

    lfy@lfy-PC MINGW64 /c/fyliu/lfyTemp/gitLocalRepository/yangjie (dev)
    $ git checkout master
    Switched to branch 'master'
    Your branch is up to date with 'origin/master'.
    
    lfy@lfy-PC MINGW64 /c/fyliu/lfyTemp/gitLocalRepository/yangjie (master)
    $ git branch
      dev
    * master
    
    lfy@lfy-PC MINGW64 /c/fyliu/lfyTemp/gitLocalRepository/yangjie (master)
    $ ls
    LICENSE  README.md
    
    lfy@lfy-PC MINGW64 /c/fyliu/lfyTemp/gitLocalRepository/yangjie (master)
    $

       刚才在dev分支的readme.txt文件不见了。将dev分支修改的内容合并到master分支:

      命令:git merge branch_name

      解析:用于合并指定分支到当前分支。合并后,再查看readme.txt的内容,就可以看到,和dev分支的最新提交是完全一样的。

    lfy@lfy-PC MINGW64 /c/fyliu/lfyTemp/gitLocalRepository/yangjie (dev)
    $ git checkout master
    Switched to branch 'master'
    Your branch is up to date with 'origin/master'.
    
    lfy@lfy-PC MINGW64 /c/fyliu/lfyTemp/gitLocalRepository/yangjie (master)
    $ git branch
      dev
    * master
    
    lfy@lfy-PC MINGW64 /c/fyliu/lfyTemp/gitLocalRepository/yangjie (master)
    $ git merge dev
    Updating d1b1bf0..1df3a8d
    Fast-forward
     readme.txt | 1 +
     1 file changed, 1 insertion(+)
     create mode 100644 readme.txt
    
    lfy@lfy-PC MINGW64 /c/fyliu/lfyTemp/gitLocalRepository/yangjie (master)
    $

     Fast-forward信息,Git告诉我们,这次合并是“快进模式”,也就是直接把master指向dev的当前提交,所以合并速度非常快。当然,也不是每次合并都能Fast-forward,我们后面会讲其他方式的合并。

      合并完成后,就可以放心地删除dev分支了:

    lfy@lfy-PC MINGW64 /c/fyliu/lfyTemp/gitLocalRepository/yangjie (master)
    $ git branch -d dev
    Deleted branch dev (was 1df3a8d).
    
    lfy@lfy-PC MINGW64 /c/fyliu/lfyTemp/gitLocalRepository/yangjie (master)
    $ git branch
    * master

    2、解决冲突

  • 相关阅读:
    一个老博士的2015年终总结 (二)
    一个老博士的2015年终总结 (一) -- 偶然发现自己竟然在博客园发过帖子
    yolov3源码分析keras(二)损失函数计算
    yolov3源码分析keras(一)数据的处理
    [转载]HDMI on ZedBoard with Petalinux.
    基于zedBoard的手势识别及桌面操控系统_项目论文
    VGA显示SDRAM内容_1——DE1-SOC学习笔记(3)
    Avalon Slave外设简单实现——DE1-SOC学习笔记(2)
    Cyclone V 与 Avalon-MM资料整理——DE1-SOC学习笔记(1)
    ESP8266开发课堂之
  • 原文地址:https://www.cnblogs.com/ZeroMZ/p/11406658.html
Copyright © 2011-2022 走看看