git中的分支管理
/*游戏或者运动才能让我短暂的忘记心痛,现如今感觉学习比游戏和运动还重要——曾少锋*/
如果对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中的分支管理的更多相关文章
- Git如何进行分支管理?
Git如何进行分支管理? 1.创建分支 创建分支很简单:git branch <分支名> 2.切换分支 git checkout <分支名> ...
- 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 ...
- Git 远程仓库分支管理
目录 目录 速查表 关联远程代码仓库 克隆远程仓库 分支管理 创建分支 切换分支 合并分支 删除分支 解决冲突 速查表 指令 作用 git branch 查看分支 git branch newBran ...
- 五、git学习之——分支管理策略、Bug分支、feature分支、多人协作
一.分支管理策略 通常,合并分支时,如果可能,Git会用Fast forward模式,但这种模式下,删除分支后,会丢掉分支信息. 如果要强制禁用Fast forward模式,Git就会在merge时生 ...
- python使用git进行版本控制-分支管理
1.远程克隆 最好的方式是先创建远程库,然后,从远程库克隆: 首先在github上创建一个新的仓库,名字叫gitskills 我们勾选Initialize this repository with a ...
- Git远程和分支管理
一.远程 Git是分布式版本控制系统,最重要的优点就是远程仓库托管代码.不用自己搭建一个服务器,在github上面注册一个账户就可免费获取远程仓库. 首先需要先在github上面 ...
- Git教程之分支管理之二
分支管理策略 通常,合并分支时,如果可能,Git会用Fast forward模式,但这种模式下,删除分支后,会丢掉分支信息.如果要强制禁用Fast forward模式,Git就会在merge时生成一个 ...
- 史上最浅显易懂的Git教程3 分支管理
假设你准备开发一个新功能,但是需要两周才能完成,第一周你写了50%的代码,如果立刻提交,由于代码还没写完,不完整的代码库会导致别人不能干活了.如果等代码全部写完再一次提交,又存在丢失每天进度的巨大风险 ...
- 【Git教程】Git教程之分支管理
在前一篇文章中,主要针对Git本地仓库和远程仓库的基本操作命令进行了简要介绍,本文主要集中介绍Git的另一个主要的特点:分支管理和多人协作. 什么是分支管理 当一个任务需要多人协作完成时,每个 ...
随机推荐
- 使用uWSGI和nginx来设置Django和你的web服务器
本教程针对那些想要设置一个生产web服务器的Django用户.它介绍了设置Django以使得其与uWSGI和nginx工作良好的必要步骤.它涵盖了所有三个组成部分,提供了一个web应用和服务器软件的完 ...
- Linux : 密码正确不能正常登陆,日志提示Could not get shadow information for user
今天,再玩Centos7的时候,尝试修改了下ssh的端口.因为默认开启了SELinux,如果没有修改这个文件配置就修改端口sshd服务就不能正常启动了. 但是,当我修改会22端口的时候还是不能正常登陆 ...
- Knapsack CodeForces - 1132E (多重背包)
可以将大量同种物品合并为$lcm$来优化, 复杂度$O(nlcm^2)$, 好像可以用bitset优化到$O(nlcm^2/\omega)$, 但是没看太懂 const int L = 840, M ...
- 『PyTorch』第四弹_通过LeNet初识pytorch神经网络_下
『PyTorch』第四弹_通过LeNet初识pytorch神经网络_上 # Author : Hellcat # Time : 2018/2/11 import torch as t import t ...
- 72. Edit Distance *HARD*
Given two words word1 and word2, find the minimum number of steps required to convert word1 to word2 ...
- intel python加速效果初探
python3安装intel的加速库: conda config --add channels intel conda create --name intelpy intelpython3_full ...
- python的日志模块logging和syslog
syslog模块是在unix环境下工作的模块,不能用于windows,在windows环境下可以使用logging模块. 一.syslog syslog模块可以用于记录系统运行的信息,这个模块提供的方 ...
- module_param和module_param_array用法
如何向模块传递参数? Linux kernel 提供了一个简单的框架.利用module_param和module_param_arra来实现. 1. module_param(name, type, ...
- C#托管代码是什么?非托管代码是什么?
C#托管代码是什么? 托管代码(Managed Code)实际上就是中间语言(IL)代码.代码编写完毕后进行编译,此时编译器把代码编译成中间语言(IL),而不是能直接在你的电脑上运行的机器码.程序集( ...
- 告别.NET生成报表统计图的烦恼
告别.NET生成报表统计图的烦恼 标签: 报表.netstatistics图形数据库文档 2009-10-09 12:00 635人阅读 评论(0) 收藏 举报 分类: .net程序设计(C#)(2 ...