Git入门指南
- star 的作用是收藏,目的是方便以后查找。
- watch 的作用是关注,目的是等作者更新的时候,你可以收到通知。
- fork 的作用是参与,目的是你可以增加新的内容,然后 Pull Request,把你的修改和主仓库原来的内容合并。
fork可以将别人的工程复制到自己账号下。但有一个缺点是:当源项目更新后,你fork的分支并不会一起更新,需要自己手动去更新。
- 首先在github上新建一个远程仓库git-learn,此时会看到一个带有自己git名称的ssh或者https访问的地址。
https://github.com/fuleying/git-learn.git
git@github.com:fuleying/git-learn.git - 在本地建立一个相同名称的文件夹git-learn,并进入该文件夹目录
- git init 初始化空仓库
- 创建一些文件,git add,将文件纳入版本控制,可以将多个文件多步纳入
- git commit -m "first commit" 进行离线提交,完成纳入操作
- 添加远程仓库origin,即用字符串 origin指代对应的仓库地址,origin即远程仓库在本地的简称
git remote add origin git@github.com:fuleying/git-learn.git - 将本地的master分支push到远程仓库origin上 git push origin master
git remote -v --verbose的简写,显示远程仓库对应的克隆地址
git会把出现变更的文件直接拷贝,形成新的blob类型的快照,而非与上一个版本的diff。而不是在每个版本中记录着各个文件的具体差异。
所以一旦需要查看某版本直接load即可,而其他差异版本控制需要做merge,所以快。空间换时间。
并非每个当前版本都需要做备份,为提高性能,若文件没有变化,Git不会再次保存,而只对上次保存的快照作一链接。
git会在隐藏目录.git里存在object里,定期会优化,保证快照空间,和读取时间的平衡。
Git的四种基本类型
BLOB:每个blob代表一个(版本的)文件,blob只包含文件的数据,而忽略文件的其他元数据,如名字、路径、格式等。
TREE:每个tree代表了一个目录的信息,包含了此目录下的blobs,子目录(对应于子trees),文件名、路径等元数据。因此,对于有子目录的目录,git相当于存储了嵌套的trees。
COMMIT:每个commit记录了提交一个更新的所有元数据,如指向的tree,父commit,作者、提交者、提交日期、提交日志等。每次提交都指向一个tree对象,记录了当次提交时的目录信息。一个commit可以有多个(至少一个)父commits。
TAG:tag用于给某个上述类型的对象指配一个便于开发者记忆的名字, 通常用于某次commit。

- Workspace:工作区,从Git目录中的压缩对象数据库中提取出某个版本的所有文件和目录,用以开始后续工作的叫做工作目录。
- Index / Stage:暂存区,一般都放在 Git 目录中。有时候人们会把这个文件叫做索引文件,不过标准说法还是叫暂存区域。
- Repository:仓库区(或本地仓库),即本地的.git 目录。
- Remote:远程仓库

基本的 Git 工作流程如下:
- 在工作目录中修改某些文件。
- 对修改后的文件进行快照,然后保存到暂存区域。
- 提交更新,将保存在暂存区域的文件快照永久转储到 Git 目录中。
git fetch到远程仓库中拉取从你上次克隆以来别人上传到此远程仓库中的所有更新(或是上次 fetch 以来别人提交的更新)。fetch命令只是将远端的数据拉到本地仓库,并不自动合并到当前工作分支,只有当你确实准备好了,才能手工合并。
git fetch origin来同步远程服务器上的数据到本地。该命令首先找到origin是哪个服务器,然后从上面获取你尚未拥有的数据,更新你本地的数据库,然后把origin/master的指针移到它最新的位置上。
git clone自动创建本地的 master 分支用于跟踪远程仓库中的 master 分支。
Git入门指南的更多相关文章
- Git入门指南十一:Git branch 分支与合并分支
十五. Git branch 分支 查看当前有哪些branch bixiaopeng@bixiaopengtekiMacBook-Pro xmrobotium$ git branch * master ...
- Git入门指南九:远程仓库的使用【转】
转自:http://blog.csdn.net/wirelessqa/article/details/20152651 版权声明:本文为博主原创文章,未经博主允许不得转载. 目录(?)[-] 十三 ...
- 【翻译】Fluent NHibernate介绍和入门指南
英文原文地址:https://github.com/jagregory/fluent-nhibernate/wiki/Getting-started 翻译原文地址:http://www.cnblogs ...
- Flume NG Getting Started(Flume NG 新手入门指南)
Flume NG Getting Started(Flume NG 新手入门指南)翻译 新手入门 Flume NG是什么? 有什么改变? 获得Flume NG 从源码构建 配置 flume-ng全局选 ...
- 【转】git - 简明指南
git - 简明指南 助你入门 git 的简明指南,木有高深内容 ;) 作者:罗杰·杜德勒 感谢:@tfnico, @fhd 和 Namics其他语言 english, deutsch, españo ...
- Git入门简介
1. Git 背景 Git 最初由Linus Torvalds编写,用于 Linux 内核开发的版本控制工具. Git 与常用的版本控制工具 CVS.Subversion 等不同,它采用了分布式版本 ...
- Office 365 机器人(Bot)开发入门指南 (新篇)
最近在整理书稿时,发现我在2017年7月份写的这篇 Office 365 机器人(Bot)开发入门 的内容,因为相关平台的升级,已经完全不能体现当前的开发过程,所以我再专门写一篇新的开发入门指南给有兴 ...
- Docker 入门指南——常用命令
前面已经介绍了 Docker 的安装方式,本文总结一下使用 Docker 的基本概念和常用命令. 基本概念 镜像 Image 镜像是一些打包好的已有的环境,可以被用来启动和创建容器 容器 Contai ...
- Maven 入门指南
为什么要用 Maven? Maven 主要帮助用户完成以下 3 个方面的工作: 生命周期管理,便捷的构建过程: 依赖管理,方便引入所需依赖 Jar 包: 仓库管理,提供统一管理所有 Jar 包的工具: ...
随机推荐
- Java EE JavaBean组件
一.简介 JavaBean组件是一些可移植.可重用并可组装到应用程序中的Java类,类必须是具体的和公共的. 符合下列设计规则的任何Java类均是以JavaBean: 1.对数据类型“protype” ...
- adb shell top 命令详解
[?25l[0m[H[J 当前系统时间 Tasks: 552 total, 1 running, 510 sleeping, 0 stopped, 0 zombie 任务(进程) 系统现在共有552个 ...
- 53. [LeetCode] Maximum Subarray
Given an integer array nums, find the contiguous subarray (containing at least one number) which has ...
- linux下各文件夹的结构说明及用途介绍(转载)
详细介绍文档 转载文章路径 /bin:二进制可执行命令. /dev:设备特殊文件. /etc:系统管理和配置文件. /etc/rc.d:启动的配 置文件和脚本. /home:用户主目录的基点,比如用户 ...
- Python3实现机器学习经典算法(二)KNN实现简单OCR
一.前言 1.ocr概述 OCR (Optical Character Recognition,光学字符识别)是指电子设备(例如扫描仪或数码相机)检查纸上打印的字符,通过检测暗.亮的模式确定其形状,然 ...
- Pearson Distance
Pearson Distance: where: 1. is the covariance 2. is the standard deviation of 3. is the standard ...
- 微软职位内部推荐-Senior Software Engineer II-Search
微软近期Open的职位: Do you want to work on a fast-cycle, high visibility, hardcore search team with ambitio ...
- ES6的新特性(1)——ES6 的概述
ES6 的概述 首先,感谢马伦老师的ES6新特性的教程. ECMAScript 和 JavaScript 的关系是 ECMAScript 和 JavaScript 的关系是,前者是后者的规格,后者是前 ...
- Thunder--Beta发布--美工+文案
作业:https://edu.cnblogs.com/campus/nenu/SWE2017FALL/homework/1366 内容: 美工:原有功能展示.新增功能展示 程序图标 欢迎页面 我的书架 ...
- 大学网站UI设计分析(以学校领导/历届领导为例)
第一次的冲刺阶段让我过了一把PM的瘾,第一阶段的冲刺完成以后第一感觉就是PM不好当,在大学里做个课程设计当个PM相对而言还是比较容易的,但是我明白,当我们走向工作岗位以后,面临的情况会比学校的情况的复 ...