【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 查看所有分支 包括远程和本地 *号开头表示当 ...
随机推荐
- 解决ssh连接远程主机出现“REMOTE HOST IDENTIFICATION HAS CHANGED”问题
Win通过ssh连接远程主机 命令提示符方式 ssh username@ip 此后输入你的密码 通过VSCode Remote-SSH 在VSCode拓展中搜索"Remote-SSH&quo ...
- Me-and-My-Girlfriend-1
Me-and-My-Girlfriend-1 目录 Me-and-My-Girlfriend-1 1 信息收集 1.1 端口扫描 1.2 后台目录扫描 1.2.1 目录分析 2 GetShell 2. ...
- 下载、编译AspNetCore 的全过程
1. clone 源码 下载新的 git clone --recursive https://github.com/dotnet/aspnetcore 如果之前clone过,但是没有使用 --recu ...
- 一个基于 gin+ grpc + etcd 等框架开发的小栗子
一.标准的项目结构 首先我们看一个标准的项目结构是什么样子的,github 上给出的一个示例:golang-standards/project-layout 二.服务注册与发现流程 三.示例代码 项目 ...
- U-Boot-基础概念与学习分享
U-Boot 基础概念与学习分享 Board: rockchip-px30, armv8, Cortex-A35 U-Boot: rockchip-linux/u-boot, branch next- ...
- 【PyQt5学习-02-】PyQt5 库的结构
1.pyqt5模块 pyqt5模块(module)文档 https://www.riverbankcomputing.com/static/Docs/PyQt5/module_index.html q ...
- mybatis中的土鸡杂鱼
mybatis中的土鸡杂鱼 目录 mybatis中的土鸡杂鱼 1.mapper接口为什么要和mapper.xml在同一个路径下? 2.主键生成为什么配置一个字段就可以? 原理 3.为什么默认使用的是预 ...
- c/c++ 2d矢量库
Cairo Cairo is a 2D graphics library with support for multiple output devices. Currently supported o ...
- vue开发中,数据更新,但视图不刷新
我们在开发过程中会碰到数据更新,但是视图并未改变的情况,情况如下: 第一种:动态给对象新增属性或者删除属性是不会触发视图刷新的,Vue识别不到: 第二种:通过数组下标修改数组中的元素或者手动修改数组的 ...
- CryptoKit 实现 椭圆曲线ECC加密
1.有没有一种方式让两个人的对话绝对安全呢?答案是肯定有的 那就是使用 椭圆曲线ECC加密 2.椭圆曲线ECC加密原理 假设有两个用户A和B .A随机生成一个密码对包含了公钥和私钥 同理B也随机生成一 ...