一、Git分支的使用

查看分支:

git branch

创建分支:

git branch branch1

切换到branch1

git checkout branch1

再用git branch查看,会看到有两个分支master和branch1,当前分支前面会有一个*

在branch1分支下,创建一个内容为branch file的branchtest的文件,并提交到新分支:

echo "branch file" >> branchtest

git add branchtest

git commit -m "branch1"

切换回master分支后会发现已经没有branchtest这个文件

git checkout master然后ls就看不到branchtest这个文件

二、Git分支的合并和删除

把branch1分支合并到master

git merge branch1

删除分支,如果分支没有合并,删除之前会提示

git branch -d branch1

如果分支没有合并,删除之前会提示

不合并强制删除

git brach -D branch1

合并和删除分支时都不能在该分支下操作

三、分支使用的原则

1、master分支是非常重要的,线上发布代码用这个分支,平时我们开发代码不要在这个分支上

2、创建一个dev分支,专门用作开发,只有当发布到线上之前,才会把dev分支合并到master

3、开发人员应该在dev的基础上再分支成个人分支,个人分支(在自己pc上)里面开发代码,然后合并到dev分支

四、现场保留

当你正在进行项目中某一部分的工作,里面的东西处于一个比较杂乱的状态,而你想转到其他分支上进行一些工作,问题是,你不想提交进行了一半的工作,否则以后你无法回到这个工作点,解决这个问题的方法就是git stash命令

例如:在branch1分支上编译一个文件1.txt

想要去另外分支逛逛,就可以先git add 1.txt

然后git stash保存一下现场

在到另外的分支上去(如果1.txt是一个已经存在的文件那么保存现场后文件内容则是你在编辑之前的内容,如果1.txt是一个新建的文件那么保存后就看不到1.txt这个文件了)

在回到branch1后查看现场列表:

git stash list

stash@{0}: WIP on branch1: 887e177 add 000

stash@{1}: WIP on branch1: 887e177 add 000

stash@{2}: WIP on branch1: 887e177 add 000

恢复现场用git stash apply,或指定要恢复的现场

git stash apply stash@{0}

五、远程分支

查看远程分支信息,使用git remote -v本地新建的分支如果不推送到远程,对其他人就是不可见的

查看远程分支:

git ls-remote origin

从本地推送分支:

git push origin branch1

如果推送失败,先用git pul抓取远程的新提交

在本地创建和远程分支对应的分支,使用git checkout -b branch-name origin/branch-name,本地和远程分支的名称最好一致

从远程抓取分支,使用git pull,如果有冲突,要先处理冲突

Git分支管理的更多相关文章

  1. GIT分支管理模型

    GIT分支管理模型 link: git-branching-model 主分支(Main branches) 项目两个常驻分支: master 主干分支(锁定),仅用于发布新版本,平时不能在上面干活, ...

  2. Git 分支管理是一门艺术

    转载: Git 分支管理是一门艺术 1 要确保:团队成员从主分支(master)获得的都是处于可发布状态的代码,而从开发分支(develop)应该总能够获得最新开发进展的代码. 2 "辅助分 ...

  3. Git 分支管理详解

    大纲: 1.前言 2.创建分支 3.切换分支 4.合并分支(快速合并) 5.删除分支 6.分支合并冲突 7.合并分支(普通合并) 8.分支管理策略 9.团队多人开发协作 10.总结 注,测试机 Cen ...

  4. Git分支管理[三]

    标签(linux): git 笔者Q:972581034 交流群:605799367.有任何疑问可与笔者或加群交流 git分支管理命令 git branch #创建分支 git branch -v # ...

  5. Git—分支管理

    Git—分支管理 分支学习:branch称为分支,默认仅有一个名为master的分支.一般开发新功能流程为:开发新功能时会在分支dev上进行,开发完毕后再合并到master分支. branch相关常用 ...

  6. [转载]理解 Git 分支管理最佳实践

    原文 理解 Git 分支管理最佳实践 Git 分支有哪些 在进行分支管理讲解之前,我们先来对分支进行一个简单的分类,并明确每一类分支的用途. 分支分类 根据生命周期区分 主分支:master,deve ...

  7. 02: git分支管理

    目录:GIT其他篇 01: git & github 02: git分支管理 目录: 1.1 Git常用命令 1.2 主要分支(保护分支) 1.3 特性分支:feature (开发分支合并到d ...

  8. git 分支管理——多人协作

    git 分支管理--多人协作 一般一个项目有一个master主分支,还有一个develop开发分支.主要是在develop分支上协作开发,然后merge合并到master主分支上. 当从远程仓库克隆时 ...

  9. Git分支管理及合并

    Git分支管理   建立分支 git branch [name]   切换到分支 git checkout [name]   查看有哪些分支 git branch   比较分支 git diff [b ...

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

    ps:本文转载于 : https://www.ibm.com/developerworks/cn/java/j-lo-git-mange/index.html Git 是目前最流行的源代码管理工具.大 ...

随机推荐

  1. 用Advanced Installer制作DotNetBar for Windows Forms 12.0.0.1_冰河之刃重打包版详解

    关于 DotNetBar for Windows Forms 12.0.0.1_冰河之刃重打包版 --------------------11.8.0.8_冰河之刃重打包版-------------- ...

  2. 借用Google API在线生成网站二维码地址方法

    二维码其实很早就出现了,在国外很多年前就已经在应用了,国内这两年才开始异常的火爆,智能手机的发展,以及微博.微信等移动应用带动了二维码的普及.那么,如果为网址在线生成二维码呢?下面我们就来介绍一下Go ...

  3. run方法和start方法的不同

    run 方法只不过是对对象方法的简单调用,在主线程中的执行时间是固定的 而start方法是开启一个线程,起执行时间是不固定的.

  4. ScorllView中嵌套listView与Viewpager的焦点问题处理

    解决进入该页面直接显示中的listview而不是从页面最顶端开始显示在setAdapter后调用listview的smoothScrollTo(0,20); 解决listview只能显示一条 需要重写 ...

  5. 关于Spring注解

    * @author 小郑 1        * @content ejb3注解的API定义在javax.persistence.*包里面. 2        * 注释说明: 3        * @E ...

  6. linux下包不重新编译php安装openssl 扩展

    今天在刚装好的centos上安装composer,老是报错,提示不安全的,后来发现是由于https的缘故,需要openssl,可能是开始装php的时候没有安装此扩展,网上有好多方案,一开始我认为只有重 ...

  7. 关于docker容器是怎样建立新的namespace的。

    最近博客收到了一封交流的私信,感谢您的关注:现在就我理解的docker建立容器时namespace的建立问题做一个 个人的回答: 一,从原理角度来讲: docker创建container,说白了就是l ...

  8. Varnish常用相关命令工具

    varnishd启动./varnishd  -f /usr/local/varnish-3.0.2/etc/varnish/default.vcl -s malloc,1G -T 127.0.0.1: ...

  9. A与B相交后的图形查询

    按照A与B图形得到相交后的图斑 <!-- <%@ Page Language="C#" AutoEventWireup="true" CodeBeh ...

  10. BZOJ 4521 手机号码

    SB数位dp. 我的貌似要特判9999999999的情况. #include<iostream> #include<cstdio> #include<cstring> ...