Git--分支管理

分支管理

创建分支

hubwiz@df0c3c0b9459:~$ git checkout -b dev
M       readme.txt
D       test.txt
Switched to a new branch 'dev' 
  • -b表示参数表示创建并切换
    相当于:
$ git branch dev
$ git checkout dev
Switched to branch 'dev'

查看分支

hubwiz@df0c3c0b9459:~$ git branch
* dev
  master  
  • git branch 会列出当前分支,*表示当前分支

切换分支

hubwiz@df0c3c0b9459:~$ git checkout master
Switched to branch 'master'
hubwiz@df0c3c0b9459:~$ git branch
  dev
* master   

分支合并

hubwiz@df0c3c0b9459:~$ git merge dev
Updating 799f847..82cd19f
Fast-forward
 readme.txt |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
 delete mode 100644 test.txt 

删除分支

hubwiz@df0c3c0b9459:~$ git branch -d dev
Deleted branch dev (was 82cd19f).   
  • 小结

查看分支:git branch
创建分支:git branch
切换分支:git checkout
创建+切换分支:git checkout -b
合并某分支到当前分支:git merge
删除分支:git branch -d

产生冲突

例如,下面合并产生冲突:

hubwiz@df0c3c0b9459:~$ git merge feature1
Auto-merging readme.txt
CONFLICT (content): Merge conflict in readme.txt
Automatic merge failed; fix conflicts and then commit the result. 

当合并的时候,产生冲突,需要首先解决冲突,之后再提交,合并才算是成功。
可以使用如下命令查看合并分支图:

hubwiz@df0c3c0b9459:~$ git log --graph   

bug分支

使用场景:
当前正在dev分支上进行开发,bug分支上有东西要修改,但是你又不想commit 掉dev上正在开发的工作,这时就要需要把当前的工作现场保存起来,改掉bug分支上的东西,然后再回到dev分支上,把暂存点回复,继续开发。类似于程序的中断处理的过程。

hubwiz@df0c3c0b9459:~$ git stash
Saved working directory and index state WIP on master: e6a468b merged bug fix
HEAD is now at e6a468b merged bug fix 

查看stash list:

hubwiz@df0c3c0b9459:~$ git stash list
stash@{0}: WIP on master: e6a468b merged bug fix 

git 把stash的内容暂存起来,到后面要恢复下,有两种方法:
- git stash apply:恢复之后,stash内容并不删除,需要git stash drop来进行删除
- git stash pop:执行之后,删除stash内容

时间: 2017-03-30

Git--分支管理的相关文章

git学习------>Git 分支管理最佳实践

ps:本文转载于 : https://www.ibm.com/developerworks/cn/java/j-lo-git-mange/index.html Git 是目前最流行的源代码管理工具.大量的软件项目由 GitHub.Bitbucket 和 GitLab 这样的云服务平台或是私有的 Git 仓库来管理.在使用 Git 时通常会遇到的一个问题是采用何种分支管理实践,即如何管理仓库中作用不同的各类分支.和软件开发中的其他实践一样,Git 分支管理并没有普遍适用的最佳做法,而只有对每个团队

分布式版本控制Git分支管理策略及使用规范流程

Git分支管理策略 目前最流行的"版本管理系统",非Git莫属. 相比同类软件,Git有很多优点.其中很显著的一点,就是版本的分支(branch)和合并(merge)十分方便.有些传统的版本管理软件,分支操作实际上会生成一份现有代码的物理拷贝,而Git只生成一个指向当前版本(又称"快照")的指针,因此非常快捷易用. 但是,太方便了也会产生副作用.如果你不加注意,很可能会留下一个枝节蔓生.四处开放的版本库,到处都是分支,完全看不出主干发展的脉络. Vincent Dr

Git分支管理策略

如果你严肃对待编程,就必定会使用"版本管理系统"(Version Control System). 眼下最流行的"版本管理系统",非Git莫属. 相比同类软件,Git有很多优点.其中很显著的一点,就是版本的分支(branch)和合并(merge)十分方便.有些传统的版本管理软件,分支操作实际上会生成一份现有代码的物理拷贝,而Git只生成一个指向当前版本(又称"快照")的指针,因此非常快捷易用. 但是,太方便了也会产生副作用.如果你不加注意,很可能

git分支管理模型推荐

前言 正如我了解到的,很多基于SVN的分支管理,类似如下的流程: 可能存在的问题: master合并成本比较高 特性分支有开发公共功能的需求, 需要及时合并 如下是一个比较成功的分支策略和发布管理,原文链接,另外,建议大家用sourceTree进行git的分支管理,因为上面的Git Flow就是如下图所示的管理流程.看图说明一切,然后使用一下sourceTree的git flow基本就懂了. 关注点是围绕着将git作为源码版本管理的工具,另外,如果你对git很感兴趣,可以关注下作者公司(gitp

GIT分支管理是一门艺术(转)

  英文原文:http://www.nvie.com/posts/a-successful-git-branching-model/ 原文作者:Vincent Driessen 本文经Linux大棚博主总结精简而成. 1 GIT,在技术层面上,绝对是一个无中心的分布式版本控制系统,但在管理层面上,我建议你保持一个中心版本库. 2 我建议,一个中心版本库(我们叫它origin)至少包括两个分支,即"主分支(master)"和"开发分支(develop)" 3 要确保:

Git 远程仓库分支管理

目录 目录 速查表 关联远程代码仓库 克隆远程仓库 分支管理 创建分支 切换分支 合并分支 删除分支 解决冲突 速查表 指令 作用 git branch 查看分支 git branch newBranchName 创建分支 git checkout branchName 切换分支 giit checkout -b newBranchName 创建+切换分支 git merge branchName 合并分支到当前分支 git branch -d branchName 删除分支 关联远程代码仓库

【代码管理】GitHub超详细图文攻略 - Git客户端下载安装 GitHub提交修改源码工作流程 Git分支 标签 过滤 Git版本工作流

找到一篇很详细的Git教程,真的很不错,推荐!!! GitHub操作总结 : 总结看不明白就看下面的详细讲解. . 作者 :万境绝尘  . GitHub操作流程 : 第一次提交 :   方案一 : 本地创建项目根目录, 然后与远程GitHub关联, 之后的操作一样; -- 初始化git仓库 :git init ; -- 提交改变到缓存 :git commit -m 'description' ; -- 本地git仓库关联GitHub仓库 : git remote add origin git@g

Git分支本地操作详解

引言 在上一节中我们对Git的常用本地操作的命令进行详解,而本节要讲解的是Git的分支, 在讲解之前补充两点概念性的东西: 第一个: 第一节中一个读者提出的疑问,Git和SVN在版本控制中存储方式版本信息的差异. 答:Git关心文件的整体是否发生变化,而SVN则关心的是文件内容的具体差异! SVN每次记录的是有哪些文件进行了修改,以及修改了哪些行的哪些内容: 如上图,比如版本2中记录的是文件A以及文件C的变化,而版本3中仅仅记录文件C 的变化这样,以此类推:而Git并不保存这些前后变化的差异数据

github-VS2013 git 源代码管理

问题描述 VS2013 git 源代码管理 "无法将本地分支 master 发布到远程存储库 origin,因为此处已存在具有同一名称的分支.您可能需要重命名您的本地分支,然后重试." 出现了这个错误,虽然我重命名分支后成功了,但是仍然存在疑问.我想要更新master分支怎么弄?难道我每次更改代码都要新建一个分支? (我github 新手) 解决方案 同遇到过这样的问题,不知道朋友的问题是不是已经解决了,我的分析和解决方式如下,多多指教: 因为github新建项目的时候选中了初始化选项

Git详解之三:Git分支

原文链接:http://blog.jobbole.com/25877/ 原文:<Pro Git> Git 分支 几乎每一种版本控制系统都以某种形式支持分支.使用分支意味着你可以从开发主线上分离开来,然后在不影响主线的同时继续工作.在很多版本控制系统中,这是个昂贵的过程,常常需要创建一个源代码目录的完整副本,对大型项目来说会花费很长时间.(伯乐在线注:如果你对Git还不了解,建议从本Git系列第一篇文章开始阅读) 有人把 Git 的分支模型称为"必杀技特性",而正是因为它,将