附录002《 Git 中的重要概念》
文档:《 Git 中的重要概念》
作者:燕志伟
时间:2020-06-02
版权:原创
前言
在进行深度学习的过程中,不免会接触到 Git 这个代码版本管理工具。对于小白而言,上手一些常用的命令通常不难,但是一旦遇到一些版本冲突问题的时,往往感觉不太好处理。主要原因是,大家只是对 Git 命令熟悉,对于 Git 引入的概念不太清晰。因此,我重点说明或解释一下 Git 中的重要的概念。
Brach - 分支
分支 Brach 是用来组织多个独立的,有序的 commits 链表为单位的一个概念。这个概念有以下特征:
- 在一个 repository 中,可以有多个 branches。
- 这些 branches 的相互是独立的。
- 一个 branch 是一个有序的链表。链表中的每个节点是一个 commit 。
Git 系统将 branches 分为两类:
- 第一类是 local branches ( tracking branches );
- 第二类是 remote branches ( tracked branches)。
这里单词 local 与 remote 字面比较好理解,但也是最容易误解的概念。
我们也将 local branches 称为 tracking branches;而将 remote branches 称为 tracked branches。这样可能避免单词 local 和 remote 的误导。
这里的 local 并不是指程序员编程使用的笔记本电脑。local branches 是指在一个repository 中创建的,正在 tracking branches。
而 remote branches 是一种特殊的 local branches,其指在 origin repository 中创建的 local branches。注意,通常 origin repository 也存储在程序员的笔记本硬盘上。换句话说, origin repository 是个本地仓库 local repository。
好,解释到这里。大家要明白 branches 这个概念是和 repository 相关。一个repository 里有两类 branches:local branches 和 remote branches。单词 remote 不要把大家给误导了。当你的 repository 在你笔记本的硬盘上,你的 remote branches 也在这块硬盘上,和 local branches 一样。
上面说了,remote branches 是个特殊的 branches,其特点是,你不能像操作 local branches 一样直接操作它。我们需要先将 remote branches 和 local branches 做一个连接,然后通过操作 local branches 来间接操作 remote branches。
在 Git 系统中一个缺省的 local branch 的名字叫 master。这里提问一下,缺省的 remote branch 的名字叫什么?
参考资料:
[1] https://www.syntevo.com/doc/display/SG/Branches
附录002《 Git 中的重要概念》相关推荐
- Git中pull,commit和push的概念
简而言之: pull:将代码托管平台上的代码下载到本地代码仓库 push:将本地代码仓库的代码上传到代码托管平台 commit:将我们编辑或正在编辑的代码提交到我们的本地代码仓库 参考文章:Git中p ...
- 在Git中,HEAD,工作树和索引之间有什么区别?
有人能告诉我在Git中HEAD,工作树和索引之间的区别吗? 据我所知,它们都是不同分支的名称. 我的假设是否正确? 编辑 我找到了这个 单个git存储库可以跟踪任意数量的分支,但是您的工作树只与其中一 ...
- git 还原文件到其他版本_如何在Git中还原旧文件版本
git 还原文件到其他版本 读: 第1部分:什么是Git? 第2部分:Git入门 第3部分:创建第一个Git存储库 第4部分:如何在Git中还原旧文件版本 第5部分:3个用于Git的图形工具 第6部分 ...
- 【java学习之路】(java框架)002.Git配置及使用
目标 了解Git基本概念 能够概述git工作流程 能够使用Git常用命令 熟悉Git代码托管服务 能够使用idea操作git 概述 开发中的实际场景 场景一:备份 小明负责的模块就要完成了,就在即将R ...
- 那些git中常见的面试题及知识点
1.列举工作中常用的git命令 1.新增文件的命令:git add file或者git add . 2.提交文件的命令:git commit –m或者git commit –a 3.查看工作区状况:g ...
- 如何在 Git 中保存用户名和密码?
问: 我想在 Git Extensions.Sourcetree 或任何其他 Git GUI 中自动使用推送和拉取功能,而无需每次都在提示中输入我的用户名和密码. 那么如何在 Git 中保存我的凭据呢 ...
- 【亲密关系】002 社交中的吸引力
[亲密关系]002 社交中的吸引力 前言 一.社交中的吸引力 1. 吸引力的基础假设 二.影响吸引力的因素 1. 因素一:空间的临近 2. 因素二:长相吸引力 3. 因素三:文化影响 三.经典心理的解 ...
- git中“我们的”和“他们的”的确切含义是什么?
本文翻译自:What is the precise meaning of "ours" and "theirs" in git? This might soun ...
- 2021年大数据ELK(五):Elasticsearch中的核心概念
全网最详细的大数据ELK文章系列,强烈建议收藏加关注! 新文章都已经列出历史文章目录,帮助大家回顾前面的知识重点. 目录 系列历史文章 Elasticsearch中的核心概念 一.索引 index 二 ...
最新文章
- AI在智能建筑中的应用和发展
- 获得一个字符的ASCII值
- ajax post对象参数,ajax用post方法传递参数
- web page web form php,Web Pages Razor
- 十进制转十六进制_汇编语言 输入一位十六进制数,输出其十进制表示
- ET框架笔记 (笑览世界写)(转)
- 图像处理之边缘检测概述
- TCP协议抓包分析 -- wireshark
- js判断最后一个字符是不是指定字符_结合简单的 JS 就可以让 CSS 也能做搜索
- nginx php 不能连接mysql_nginx配置php环境,并测试PHP是否可以连接mysql
- 60TB 数据量的作业从 Hive 迁移到 Spark 在 Facebook 的实践
- (篇一)作为一个程序猿,这些C语言实例你必须会!
- iView 实现可编辑表格 1
- mysql c库 示例_选择MySQL数据库进行连接的简单示例
- postgre ~模糊查询慢解决方式
- Js中Date日期的使用
- linux 编译cgal,Linux环境下CGAL配置
- 【科研绘图】用PPT进行科研用图的图片预处理
- 干货满满!亲测国内四大AI智能抠图网站
- Codewars笔记