git知识总结-1.git基础之基本术语】的更多相关文章

1.前言 git包含四种对象文件: blob tree commit tag(目前没用到,暂时忽略) 2. git对象的关系   图 git三种对象关系   粗略一看,可以大致感觉出blob类似于文件,而tree类似于文件夹,而commit则是囊括这一大堆东西的一个对象. 3.SHA-1算法 SHA-1算法具体怎么计算,可以自行google.这里只说一下该算法在git数据存储中的应用.我们可以用git提供的命令来计算一个文件的SHA-1值: echo 'test content' | git h…
上篇博客我们从 git clone 和 git status 两个命令开始,引出了一系列的git操作命令, 请参见:<Git知识总览(一) 从 git clone 和 git status 谈起>.上篇博客中所涉及的git命令也是git命令操作中常用的基础操作命令,本篇博客继续来总结一下git使用时常用的命令操作以及其他相关基础知识. 下方是本篇博客所会涉及的内容: .gitignore文件的配置 使用 git diff 来查看修改的内容 git 中文件移除 -- git rm git 中的文…
上篇博客聊了<Git知识总览(三) 分支的创建.删除.切换.合并以及冲突解决>,本篇博客我们主要来看一下 rebase 变基相关的操作.rebase 操作和 merge 操作最终都可以达到合并代码的效果,不过其对分支的影响不同.上篇博客中我们聊到了 merge操作.简单的说merge操作就是将两个commit进行合并,然后在这两个分支合并的基础上创建一个新的commit.而变基操作简单的说是改变提交的父类,在改变父类时进行合并操作.合并就可能产生冲突,所以rebase时也会产生冲突,下方会介绍…
上篇博客聊了<git分支管理之rebase 以及 cherry-pick相关操作>本篇博客我们就以Learning Git中的关卡进行展开.下方列举了LearningGit中的 merge.rebase.reset.revert.cherry-pick 以及交互式rebase相关关卡的操作以及对应的解析.后边在聊交互式rebase操作是,不单单给出了LearningGit中的内容,而且给出了真正的Git分支在交互式rebase操作时的具体案例. learngitbranching的地址为:ht…
前几篇博客陆陆续续的讲了好多关于Git操作的内容,本篇博客仍然也不例外,不过本篇博客的主题是关于git的远程操作的.依照之前博客的风格,我们依然依托于LearningGitBranch中的相关内容来探究一下Git的远程操作.今天这篇博客算是Git系列博客的结尾了. 一.PUSH到远端 1.将本地的Merge操作推送给远端 下方左边是我们的git分支的初始状态,我们从master分支上分别创建了三个不同的分支side1.side2.side3.并且在每个分支上都有新的提交.右边是远端的状态,在我们…
1. 前言 因为手里有一份代码之前是直接从其它git服务器上克隆下来的,现在想自己搭建一个git服务器把这份代码管起来. 2. 搭建git服务器 1.安装git: $ sudo apt-get install git 2. 创建一个git用户,用来运行git服务: $ sudo adduser jason 3. 创建证书登录 收集所有需要登录的用户的公钥,就是他们自己的id_rsa.pub文件,把所有公钥导入到/home/book/.ssh/authorized_keys文件里,一行一个. 此处…
0.前言 本文主要对git常用命令的工作原理做一个详细的说明,常用命令主要包括: 1.git add git add相关命令很简单,主要实现将工作区修改的内容提交到暂存区,交由git管理. 2. git commit git commit主要实现将暂存区的内容提交到本地仓库,并使得当前分支的HEAD向后移动一个提交点. 3. git branch 关于分支,大概有展示分支,切换分支,创建分支,删除分支这四种操作. 4. git merge merge命令把不同的分支合并起来.如下图,在实际开发中…
0.前言 一般来说,日常使用只要记住下图6个命令,就可以了.但是熟练使用,恐怕要记住60-100个命令. 上图分别为: Workspace:工作区 Index / Stage:暂存区 Repository:仓库区(或本地仓库) Remote:远程仓库 6个命令分别是: git pull:从远程仓库将代码同步到工作区 git fetch/clone:从远程仓库同步代码到本地仓库 git checkout:用本地仓库代码同步工作区 git add:将工作区代码加到暂存区,实现git管理 git co…
1.前言 Git版本管理的内容,是一系列由40bytes SHA-1字符串所代表patch,而Git References,则是对这些字符串的引用(也可以理解为别名).为什么需要别名呢?因为这些字符串太难记了!根据使用场景的不同,Git References分为四类: 2.git references 2.1 指向最后一次提交的reference(分支名) 这类reference以“refs/heads/”为前缀,例如“refs/heads/master”,实际就是git分支,git分支指向某一…
1.前言 我们在介绍git版本管理的时候,没有提到“服务器”的概念,所有的版本管理操作,都是在本地进行的.这就是git与其它版本管理工具(如CVS.SVN等)最本质的区别所在:分布式. 所谓的分布式,是指git仓库不是以client-server的形式组织的,而是以对等的形式,在所有的机器上保存相同的copy(当然,是在各自修改之前),并在需要的时候,同步各自的改动,完成“版本控制”的目的. 2.git管理的分布式 假设上面图片是位于github上的某一个仓库的当前快照,任何人都可以把它copy…