zoukankan      html  css  js  c++  java
  • Git分支管理

    分支就好比一个人有分身术,一个在学习英语,一个在学习数学,当元神归一的时候,你就同时学会了两个东西。

    分支在实际开发中有什么用呢?假设开发一个功能,你的代码需要两周写完,但是你在一个分支上每天提交部分代码会影响别人的不能干活。

    但是等你写完,别人再开发,这样影响开发进度。现在有了分支就不怕了。你创建一个属于你自己的分支,别人看不到。当你开发完毕后,再

    一次性合并到原来的分支上。这样既安全又不影响别人的工作。

    其他的版本控制系统,如SVN等都有分支管理,但是用过之后你会发现,这些版本控制系统创建和切换分支比乌龟都慢,简直让人无法忍受,

    结果导致分支功能成了摆设,大家都不去使用了。

    但是Git的分支管理与众不同,不管是创建、切换、和删除分支,Git会快速的完成。

    首先,我们创建dev分支,然后切换到dev分支:

    $ git checkout -b dev
    Switched to a new branch 'dev'

    相当于以下两条命令:

    $git branch dev

    $git checkout dev

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

    $ git branch
    * dev
    master

    git branch命令会列出所有分支,当前分支前面会标一个*号。

    我们就可以在dev上正常提交了,比如在readme.txt做个修改,加上一句话:

    添加dev分支内容

    现在我们再切回master分支上:

    $ git checkout master
    Switched to branch 'master'
    Your branch is ahead of 'origin/master' by 1 commit.
    (use "git push" to publish your local commits)

    LV@LV-PC MINGW32 /c/gitskill (master)
    $ ls
    README.md readme.txt

    LV@LV-PC MINGW32 /c/gitskill (master)
    $ cat readme.txt
    master分支内容

    我们会发现,切换到master分支后,刚才添加的内容不见了,因为那个提交在dev分支上,而master分支此刻的提交点并没有变。

    我们把dev分支上的工作内容合并到master分支上:

    $ git merge dev
    Updating d5aea29..0d0bbca
    Fast-forward
    readme.txt | 3 ++-
    1 file changed, 2 insertions(+), 1 deletion(-)

    再看看master分支下的readme.txt文件:

    LV@LV-PC MINGW32 /c/gitskill (master)
    $ cat readme.txt
    master分支内容
    添加dev分支内容

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

    LV@LV-PC MINGW32 /c/gitskill (master)
    $ git branch -d dev
    Deleted branch dev (was 0d0bbca).

    LV@LV-PC MINGW32 /c/gitskill (master)
    $ git branch
    * master

    小结:因为创建、合并和删除分支非常快,所以Git鼓励你使用分支完成某个任务后,合并后再删除分支,这和直接在master分支上工作的

    效果是一样的,但是过程更安全。

    查看分支:git branch

    创建分支:git branch <name>

    切换分支:git checkout <name>

    创建+切换分支:git checkout -b name

    合并某某分支到当前分支:git merge name

    删除分支:git branch -d name

  • 相关阅读:
    JAVA语言 第五周
    JAVA语言 第四周
    Good Bye 2016 D. New Year and Fireworks BFS
    Codeforces Round #402 (Div. 2) D. String Game 二分
    Codeforces Round #401 (Div. 2) E. Hanoi Factory 栈
    Good Bye 2016 C. New Year and Rating 模拟
    Codeforces Round #147 (Div. 2) C. Primes on Interval 二分
    Codeforces Round #398 (Div. 2) B. The Queue 思维
    Divide by Zero 2017 and Codeforces Round #399 (Div. 1 + Div. 2, combined) D. Jon and Orbs 概率DP
    Divide by Zero 2017 and Codeforces Round #399 (Div. 1 + Div. 2, combined) E. Game of Stones Nim游戏
  • 原文地址:https://www.cnblogs.com/LvLoveYuForever/p/5522037.html
Copyright © 2011-2022 走看看