Git分支管理
一、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分支管理的更多相关文章
- GIT分支管理模型
GIT分支管理模型 link: git-branching-model 主分支(Main branches) 项目两个常驻分支: master 主干分支(锁定),仅用于发布新版本,平时不能在上面干活, ...
- Git 分支管理是一门艺术
转载: Git 分支管理是一门艺术 1 要确保:团队成员从主分支(master)获得的都是处于可发布状态的代码,而从开发分支(develop)应该总能够获得最新开发进展的代码. 2 "辅助分 ...
- Git 分支管理详解
大纲: 1.前言 2.创建分支 3.切换分支 4.合并分支(快速合并) 5.删除分支 6.分支合并冲突 7.合并分支(普通合并) 8.分支管理策略 9.团队多人开发协作 10.总结 注,测试机 Cen ...
- Git分支管理[三]
标签(linux): git 笔者Q:972581034 交流群:605799367.有任何疑问可与笔者或加群交流 git分支管理命令 git branch #创建分支 git branch -v # ...
- Git—分支管理
Git—分支管理 分支学习:branch称为分支,默认仅有一个名为master的分支.一般开发新功能流程为:开发新功能时会在分支dev上进行,开发完毕后再合并到master分支. branch相关常用 ...
- [转载]理解 Git 分支管理最佳实践
原文 理解 Git 分支管理最佳实践 Git 分支有哪些 在进行分支管理讲解之前,我们先来对分支进行一个简单的分类,并明确每一类分支的用途. 分支分类 根据生命周期区分 主分支:master,deve ...
- 02: git分支管理
目录:GIT其他篇 01: git & github 02: git分支管理 目录: 1.1 Git常用命令 1.2 主要分支(保护分支) 1.3 特性分支:feature (开发分支合并到d ...
- git 分支管理——多人协作
git 分支管理--多人协作 一般一个项目有一个master主分支,还有一个develop开发分支.主要是在develop分支上协作开发,然后merge合并到master主分支上. 当从远程仓库克隆时 ...
- Git分支管理及合并
Git分支管理 建立分支 git branch [name] 切换到分支 git checkout [name] 查看有哪些分支 git branch 比较分支 git diff [b ...
- git学习------>Git 分支管理最佳实践
ps:本文转载于 : https://www.ibm.com/developerworks/cn/java/j-lo-git-mange/index.html Git 是目前最流行的源代码管理工具.大 ...
随机推荐
- Secondary NameNode:的作用?
前言 最近刚接触Hadoop, 一直没有弄明白NameNode和Secondary NameNode的区别和关系.很多人都认为,Secondary NameNode是NameNode的备份,是为了防止 ...
- apache 重定向
<IfModule mod_rewrite.c> RewriteEngine on RewriteCond %{HTTPS} !=on RewriteRule ^(.*) https:// ...
- I had lots of shrapnel in my leg
People were running up to us, and screaming and hitting us, and throwing stones and eggs. "They ...
- linux密码的更改
找到UTF-8,在后面空格后输入init=/bin/sh 然后CHRL+X启动 进入到这个界面,输入mount -o remount,rw / 再输入touch / .autorelabel ,然后 ...
- VS2010里, using System.Data.OracleClient; 不可用
当我试图去引用System.Data.OracleClient 这个命名空间时,VS 显示不存在 但是在对象浏览器里却可以找到这个命名空间及里边的对象 另外好像也没有区分清楚 using 和Refer ...
- Kindle使用的一些方法
最大的好处就是方便,买书便宜,到手我就买了六部书,十块钱不到,以纸书的价格一本都买不到,能够买一些一直想读一下,但又担心读不下去的书.而且买了之后完全不用担心书柜收纳不下了.另外很轻便,放在包里上下班 ...
- Android数据持久化技术 — — —文件存储
文件保存 package com.example.datastroredtest; import android.app.Activity;import android.os.Bundle;impor ...
- 模块化以及requirejs和seajs
我们用模块化的思想进行网页的编写是为了更好的管理我们的项目 模块与模块之间是独立存在的,每个模块可以独立的完成一个子功能. 模块化所涉及的规范commonjs,AMD,CMD,UMD 其中的commo ...
- 北大poj- 1067
取石子游戏 Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 40058 Accepted: 13520 Descripti ...
- SQL Server 简介
什么是数据库? 数据库(Database)是按照数据结构来组织.存储和管理数据的仓库.是以一定方式储存在一起.能为多个用户共享.具有尽可能小的冗余度的特点.是与应用程序彼此独立的数据集合. SQL S ...