【git】3.1git分支-分支简介
资料来源
(1) https://git-scm.com/book/zh/v2/Git-%E5%88%86%E6%94%AF-%E5%88%86%E6%94%AF%E7%AE%80%E4%BB%8B
1.分支的作用
(1) 使用分支可以将工作从开发主线上分离开来,以免影响开发主线;
2.分支介绍
(1) git的分支,本质上仅仅是指向提交对象的可变指针;
(2) git的默认分支名字是master; master分支在每次提交时,自动向前移动;
(3) git的master分支并不是一个特殊分支,和其他分支完全没有区别; 之所以几乎每个仓库都有master分支,是因为git init命令默认创建它;
2.1 分支创建git branch
(1) git branch 分支名,如git branch branch1;
(2) git branch会在当前所在的提交对象上创建一个指针;
注1:git怎么知道当前在哪个分支上? git有一个名为HEAD的特殊指针,该指针指向当前所在的本地分支;
2.2 分支切换git checkout
(1) git checkout 分支名,如git checkout branch1;
(2) 执行该命令后,HEAD指向分支branch1;
(3) 在分支branch1上执行git commit操作后, 分支branch1会向前移动,但是master分支并没有, master分支依然指向运行git checkout时所指的对象; 此时,执行git checkout master,会有两个影响,一是使HEAD指回master分支,二是将工作目录恢复成master分支所执行的快照内容(本质上讲,是忽略branch1分支所作的修改,以便于向另一个方向进行开发);
注1:分支切换会改变工作目录中的文件;
(4) 项目的分叉:创建一个新分支branch1,并切换过去进行一些工作; 随后又切换回master分支,进行另外一些工作;这两次改动针对的是不同分支,可以在不同分支间不断来回切换和工作,并在适当时将它们合并起来;
注1:使用git log --oneline --decorate --graph --all可以查看分叉历史;
2.3 分支创建同时切换git checkout -b
(1) git checkout -b 分支名,如git checkout -b branch1,等同于git branch branch1 + git checkout branch1;
【git】3.1git分支-分支简介的更多相关文章
- 7.Git分支-分支简介、分支创建、分支切换
1.分支简介 几乎所有的版本控制系统都支持某种形式的分支.使用分支意味着可以把你的工作从开发主线上分离开来,以免影响开发主线.Git的分支是其必杀技,它相对于其它版本控制系统来说,具有难以置信的轻量性 ...
- Git(12)-- Git 分支 - 分支简介
@ 目录 1.分支简介 1.1.初始化并首次提交 首次提交对象及其树结构: git 的 cat-file 的命令用法: 1.2.修改并第二次提交 第二次提交对象及其树结构: 1.3.修改并第三次提交 ...
- ###Git 基础图解、分支图解、全面教程、常用命令###
一.Git 基础图解 转自:http://www.cnblogs.com/yaozhongxiao/p/3811130.html Git 图解剖析 git中文件内容并没有真正存储在索引(.git/in ...
- VS2013中使用git发布解决方案master分支的时候出现错误
VS2013GIT基础用法请自行参考:不会Git命令,照样玩转Git 环境:VS2013+ 码云错误描述:在VS2013中使用git发布解决方案master分支的时候出现“无法将本地分支 master ...
- git学习4:分支管理
每次提交,Git都把它们串成一条时间线,这条时间线就是一个分支.截止到目前,只有一条时间线,这个分支叫主分支,即master分支,HEAD指向master,master指向提交,所以,HEAD指向的就 ...
- Git tag 给当前分支打标签
原文已经找不到出处,重新整理格式,仅作个人收藏! 标签(Tag)可以针对某一时间点的版本做标记,常用于版本发布. 列出tag $ git tag # 在控制台打印出当前仓库的所有tag $ git t ...
- git命令之git tag 给当前分支打标签
git tag - 标签相关操作 发表于 2011年06月29日 由 机器猫 标签可以针对某一时间点的版本做标记,常用于版本发布. 列出标签 $ git tag # 在控制台打印出当前仓库的所有标签$ ...
- 【Git】笔记4 分支管理1
1.创建与合并分支 一开始的时候,master分支是一条线,Git用master指向最新的提交,再用HEAD指向master,就能确定当前分支,以及当前分支的提交点: 每次提交,master分支都会向 ...
- 3.2 Git 分支 - 分支的新建与合并
分支的新建与合并 现在让我们来看一个简单的分支与合并的例子,实际工作中大体也会用到这样的工作流程: 开发某个网站. 为实现某个新的需求,创建一个分支. 在这个分支上开展工作. 假设此时,你突然接到一个 ...
- git 克隆项目 与 分支简单操作
git clone http://abcde.com/myproject/abc.git 克隆远程项目到本地githome文件夹git branch -a 查看所有分支 包括远程和本地 *号开头表示当 ...
随机推荐
- vue弹窗后如何禁止滚动条滚动
toggleBody(isPin){ if(isPin){ document.body.style.height = '100vh' document.body.style['overflow-y'] ...
- 计网学习笔记二 Link Layer Service
在上一周的计网学习了network和Internet的总论.在这一周开始的未来几讲将集中在链路层link layer,并且会有相应的计网lab完成.在这一讲中,我们主要关注链路层提供的服务. 课程资料 ...
- 利用自定义ref实现防抖
1. debounce.js import { customRef } from 'vue'; export function debounceRef(value, delay = 1000) { l ...
- 微信小程序JS
微信小程序之操作三元运算符class <view class="chejian wx:if='{{item.is_check == 1 ? 'hover' : ''}}' " ...
- js中常用Math对象
js中常用Math对象 Math.round()四舍五入 Math.ceil() ->ceil 天花板--->向上取整 Math.floor() 向下取整 Math.floor(-11.1 ...
- 向mysql插入数据报错 pymysql.err.DataError: (1406, "Data too long for column 'class' at row 1") 解决方案
这个问题一开始更换数据类型或者数据类型的大小,发现还是不行.后面通过网上查询了一条神奇的sql语句分分钟钟的解决了 问题原因明明是: 字段的长度不够存放数据 解决方案: 在mysql命令行输入如下:S ...
- windows下搭建h5游戏小小火影教程【附安装包】
小小三国是一款很好玩的H5游戏.只需要用一台64位的windows电脑或服务器,你就可以和朋友们一起联机玩这个游戏了.本文将会教你如何搭建这个游戏,步骤如下. 1.下载好后你会看到该压缩包 2.解压到 ...
- mac + win ,用python一行代码批量下载哔哩哔哩视频
首先,你的机器已经安装python,然后是安装you-get. 打开终端,输入 pip3 install you-get,回车,即开始安装,如下图所示. 编辑 安装成功后,比如要下载某个视屏,首 ...
- Linux系统Shell脚本第一章:Shell脚本基础及时间同步
目录 一.Shell脚本基础 1.Shell作用 2.什么是Shell脚本及处理逻辑 3.shell脚本基本格式 4. shell脚本执行方式 5.实操演示 二.Shell脚本中的变量 1.变量的作用 ...
- 03java基础(二)java面向对象
目录 类和对象的基本使用 基础概念 类的初始化 用new关键字创建对象 创建对象的内存分析 OOP的三大特征 类的封装 类的继承 继承的基础使用 继承基本概念 extends关键字的基本使用 supe ...