/*游戏或者运动才能让我短暂的忘记心痛,现如今感觉学习比游戏和运动还重要——曾少锋*/

如果对git基础不太熟悉的可以参考:http://www.cnblogs.com/zengsf/p/7506219.html

想把文件推到github中的过程可以参考:http://www.cnblogs.com/zengsf/p/7511370.html

分支其实很好理解,就是中间插入进来,就如同大树一样一条主干,多条分支。

HEAD就是当前提交点,当你操作次分支,那么HEAD就在当前提交次分支处,当你在操作

主分支是,HEAD就在当前提交主分支处。

git branch <name>创建一个次分支,这时我们就有两个分支了,那么肯定要切换主分支

和次分支。这是就利用git checkout <name>进行切换。其实也可以将上面两步变成一步,

git checkout -b <name>就直接创建好了并且切换到了这个分支上。

当你在zsf分支时,你修改了编辑器里面的内容,然后提交了(git add <file>,

git commit -m <file>)。然后在查看编辑器的内容时,就是你修改后的内容,

但是回到master分支时,查看的内容却是修改之前的内容。自己实践一下就

知道了。

既然可以分,那当然可以合并。但要注意的是要合并分支,那你当前要处于

主分支才能合并分支,通过git merge <分支名>。

合并好了,那么分支也就没必要了。就可以删掉了。通过git branch -d <name>

就可以删掉想删除的分支了。

分支也会有冲突的时候,在分支状态下,修改好了内容提交了。然后回到主分支,

也修改了里面的内容并且都提交了。这是在合并时就会有冲突。

在编辑器中就会变成这样:

为了解决冲突,我们可以修改为:

在利用git add <name>和git commit -m <name>,之后在查看提交过程:

git log --graph的命令是查看分支合并图。将两个合并成了一个,并且图中也很详细的整个过程。

合并分支时,Git使用用Fast forward模式,但这种模式下,删除分支后,会丢掉分支信息。

意思就是合并后在利用git log --graph时并不会出现历史记录。

当然,你可以让其显示出来,并且不会丢失分支信息。就是利用--no-ff来禁止使用Fast forward模式。

这样你在利用git log --graph时就跟上面不一样了。

或者这样更简洁

你将可以看到分支合并到主分支上的图了。

git中的分支管理的更多相关文章

  1. Git如何进行分支管理?

    Git如何进行分支管理?     1.创建分支     创建分支很简单:git branch <分支名>     2.切换分支     git checkout <分支名>   ...

  2. Git中的分支

    具体请参考:https://git-scm.com/book/zh/v1/Git-%E5%88%86%E6%94%AF-%E4%BD%95%E8%B0%93%E5%88%86%E6%94%AF Git ...

  3. Git 远程仓库分支管理

    目录 目录 速查表 关联远程代码仓库 克隆远程仓库 分支管理 创建分支 切换分支 合并分支 删除分支 解决冲突 速查表 指令 作用 git branch 查看分支 git branch newBran ...

  4. 五、git学习之——分支管理策略、Bug分支、feature分支、多人协作

    一.分支管理策略 通常,合并分支时,如果可能,Git会用Fast forward模式,但这种模式下,删除分支后,会丢掉分支信息. 如果要强制禁用Fast forward模式,Git就会在merge时生 ...

  5. python使用git进行版本控制-分支管理

    1.远程克隆 最好的方式是先创建远程库,然后,从远程库克隆: 首先在github上创建一个新的仓库,名字叫gitskills 我们勾选Initialize this repository with a ...

  6. Git远程和分支管理

    一.远程       Git是分布式版本控制系统,最重要的优点就是远程仓库托管代码.不用自己搭建一个服务器,在github上面注册一个账户就可免费获取远程仓库.      首先需要先在github上面 ...

  7. Git教程之分支管理之二

    分支管理策略 通常,合并分支时,如果可能,Git会用Fast forward模式,但这种模式下,删除分支后,会丢掉分支信息.如果要强制禁用Fast forward模式,Git就会在merge时生成一个 ...

  8. 史上最浅显易懂的Git教程3 分支管理

    假设你准备开发一个新功能,但是需要两周才能完成,第一周你写了50%的代码,如果立刻提交,由于代码还没写完,不完整的代码库会导致别人不能干活了.如果等代码全部写完再一次提交,又存在丢失每天进度的巨大风险 ...

  9. 【Git教程】Git教程之分支管理

      在前一篇文章中,主要针对Git本地仓库和远程仓库的基本操作命令进行了简要介绍,本文主要集中介绍Git的另一个主要的特点:分支管理和多人协作. 什么是分支管理   当一个任务需要多人协作完成时,每个 ...

随机推荐

  1. DataTable转化成实体对象

    /// <summary> /// The data extension. /// </summary> public static class DataExtension { ...

  2. java数组声明和变式--record1

    ​ java声明数组方式: String[] namelist; int numlist[];//此声明为动态声明,不能指定长度,numlist[10] 静态声明的方式: int a[]={1,2,3 ...

  3. Android JNI(一)——NDK与JNI基础

    本系列文章如下: Android JNI(一)——NDK与JNI基础 Android JNI学习(二)——实战JNI之“hello world” Android JNI学习(三)——Java与Nati ...

  4. 音视频学习系列第(七)篇---MediaCodec的使用

    音视频系列 什么是MediaCodec MediaCodec是安卓官方提供的一套用于音视频编码和解码的API,该API是在安卓4.1(API 16)引入的,因此只能用于4.1以上的手机 MediaCo ...

  5. 【Golang 接口自动化01】使用标准库net/http发送Get请求

    发送Get请求 使用Golang发送get请求很容易,我们还是使用http://httpbin.org作为服务端来进行演示. package main import ( "bytes&quo ...

  6. js实现软件版本号的比较

    //js实现软件版本号的比较 //随机举两个例子 pc2.4.3 或者pc3.5.6 /** * 输入 v1,v2 * 返回true代表v1比v2的版本新,false则代表v1与v2相等或者v1< ...

  7. 在每个节点填充向右的指针 Populating Next Right Pointers in Each Node

    2018-08-09 16:01:40 一.Populating Next Right Pointers in Each Node 问题描述: 问题求解: 由于是满二叉树,所以很好填充. public ...

  8. C++中的赋值运算符重载函数(operator=)

    MyStr& operator =(const MyStr& str)//赋值运算符 { cout << "operator =" << e ...

  9. hdu-6319-单调队列

    Problem A. Ascending Rating Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 524288/524288 K ...

  10. HDOJ1008

    #include "iostream" using namespace std; int main() { ) { int n; cin >> n; ) break; ...