【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 查看所有分支 包括远程和本地 *号开头表示当 ...
随机推荐
- 我有一篇Java Stream使用手册,学了就是你的了!
原创:扣钉日记(微信公众号ID:codelogs),欢迎分享,非公众号转载保留此声明. 简介 日常编程工作中,Java集合会经常被使用到,且经常需要对集合做一些类似过滤.排序.对象转换之类的操作. 为 ...
- Git基础操作及协作流程
一整套流程帮你实践整个 Git 操作基础流程. 来源:https://docs.microsoft.com/zh-cn/learn/paths/intro-to-vc-git/ Git 介绍 配置 G ...
- ajax请求头添加参数
在请求ajax时 ,有时后台要求在请求头里边上参数 ,这种情况下一般都是在原生APP项目当中,因为要在登录状态下才,所有要传token和登录id, var token = localStorage.g ...
- vue浏览器全屏 非全屏切换 按esc退出全屏
methods: { // 全屏 点击按钮 allping(){ this.status = true; this.enterFullscreen(); ...
- Spring Boot2中如何优雅地个性化定制Jackson
概述 本文的编写初衷,是想了解一下Spring Boot2中,具体是怎么序列化和反序列化JSR 310日期时间体系的,Spring MVC应用场景有如下两个: 使用@RequestBody来获取JSO ...
- mysql版本升级 5.7.21-8.0.30
当前MySQL版本为:5.7.21 升级前准备,了解5.7和8.0版本有何区别,本文主要为升级操作文档,具体建议参考官方文档,概括性的有以下几点: >默认字符集由latin1变为utf8mb4 ...
- git提交到代码到远程仓库,合并分支提示entirely different commit histories(备忘)
最近提交代码到github,合并分支的时候提示"master and main are entirely different commit histories" master为本地 ...
- element的upload手动submit前动态设置上传请求地址
标签地址绑定一个变量 动态修改上传请求地址代码: nextTick是DOM更新后触发,不使用nextTick直接submit,上传地址仍然会使用初始url地址 _this = this; this.u ...
- SpringBoot中常见问题
Invalid bound statement(not found): 异常原因:编译之后的mapper文件中的.xml文件未编译, 解决方法:在pom.xml文件中添加如下配置,添加位置为build ...
- ESLint未定义报错
vue框架, --- .eslintrc.js : module.exports = { root: true, env: { node: true }, 'extends': [ 'plugin ...