【Git之旅】2.Git对象】的更多相关文章

蚂蚁作为一个混码农届的新人来说,看到什么东西都觉得高大上的感觉.最近接触到了git,有种蠢蠢欲动的感觉,想 试一把.因此开启了我的Git之旅.废话不多说,开始我的git之旅. 1.git服务器的选择 github和bitbucket.github上的开源项目非常多,大神也很多,可以实时跟踪大神的项目进度,学习大神的编码.bitbucket的最大优势就是可以建立5人以下小团队的私人仓库.给小型团队的私人项目提供了便利.但是由于蚂蚁是一个菜鸟,使用git主要是为了激励自己时刻学习,时刻保持好的编码风…
1.创建初始化版本库 git init 2.将文件添加到版本库中 git add index.html (添加到暂存区) git add . 命令让Git把当前目录及目录中的文件都添加到版本库里 git commit -m 'test' 添加到版本库 3.查看提交历史 git log git show header id git show-branch --more=10 当前开发分支简介的单行摘要 4.查看提交差异 git diff id1 id2 (git diff 显示仍留在工作目录中且未…
git log -l -pretty=raw // 查看日志 -l是干啥的 git log -pretty=raw // git cat-file -t 哈希值 // 查看id的类型 不知道为啥这里我不一样:即使用git log -l --pretty=raw也只是出现commit的,但是git cat-file -p 哈希值则会出现tree和parent. root@tuhooo:~/workspace/demo # git log commit ac31089960196a531c277dc…
Git 基础学习系列 Git 基础 -- 安装 配置 别名 对象 Git 基础 -- 常用命令 Git 基础 -- 常见使用场景 Git基础 -- Github 的使用 Git 安装 Git下载地址 Windows 安装时需要注意在Configuring the line ending conversions界面,选择Checkout as-is,commit as -s,避免Windows的换行符问题.如果忘记设置,可以使用如下命令后期设置: git config --global core.…
Git 主张的分布式代码库与文件快照的设计思想,相对于传统 CVS.SVN 等集中式.文件差异式版本控制工具是一种挑战与颠覆.Git 带来了离线提交.轻量级分支等诸多便利.不过,也有人质疑 Git 的复杂性,并由此拔高了学习成本,某种程序上影响了开发者使用或者迁移 Git 的项目进度,笔者同样感同身受,这也是本文的出发点. 不同于各种 Git 用法指南,本文在介绍 Git 安装.使用的同时,更加注重于 Git 的设计思想.体系架构.以及各种实用功能,包括 Git 分支模型.Git 标签.Git…
在上一篇文章中,将了数据对象.树对象和提交对象三种Git对象,每种对象会计算出一个hash值.那么,Git是如何计算出Git对象的hash值?本文的内容就是来解答这个问题. Git对象的hash方法 Git中的数据对象.树对象和提交对象的hash方法原理是一样的,可以描述为: header = "<type> " + content.length + "\0" hash = sha1(header + content) 上面公式表示,Git在计算对象ha…
目录 1.Git操作最基本的流程 2.工作目录中文件的状态 3.Git效率说明 提示:前面三篇文章已经分别的对blob对象.tree对象.commit对象进行了详细的说明,这篇文章我们总结一下,Git对象在基础操作流程中的生成的时机. 1.Git操作最基本的流程 1)创建工作目录对工作目录进行修改. 2)执行git add ./命令添加文件到暂存区. 相当于执行了如下两个底层命令: git hash-object -w文件名(修改了多少个工作目录中的文件此命令就要被执行多少次) git upda…
目录 1.Git对象之间的关系 2.提交对象与分支的关系 (1)提交对象与分支的关系 (2)分支说明 (3)HEAD与分支的关系 1.Git对象之间的关系 我们之前学了Git的三个对象:提交对象.树对象.数据对象. 我们假设现在有一个工作目录,里面进行了三次提交,包括一次新增文件和两次对文件的修改. 每次一把工作区中的文件添加到暂存区时,暂存操作会为每一个文件计算校验和,然后会把当前版本的文件快照(即文件的内容)保存到 Git 仓库中 (Git 使用 blob 对象来保存它们),最后将校验和加入…
1,git的安装 最早Git是在Linux上开发的,很长一段时间内,Git也只能在Linux和Unix系统上跑.不过,慢慢地有人把它移植到了Windows上.现在,Git可以在Linux.Unix.Mac和Windows这几大平台上正常运行了. 但是最好在linux上使用吧,可以首先输入git命令查看有木有安装 [root@zdiank src]# git --versiongit version 1.7.1 没有的话,就用  yum  install  -y   git  (来安装) 2,创建…
1.git是目前世界上最先进的分布式版本控制系统.svn是集成式版本控制系统,那么问题来了,什么叫分布式管理和集中式管理? 首先,svn 需要有一个中央服务器,协同开发者需要同中央服务器连接,所有的版本都存在了中央服务器上.开发者只有本地代码.一旦中央服务器挂掉,所有版本会丢失. git采用分布式版本控制.也就是每个 开发者本地都有一套版本控制库,可以在自己本地实现版本的删除,还原等操作.也不用担心版本库丢失的问题,如果开发者1的版本库丢失,可以直接clone一份开发者2的版本库,开发同一个项目…