Git入门指南

git学习资源

Pro Git(中文版)

Learn Git in your browser for free with Try Git.

Git常用命令

Reference

常用 Git 命令清单


  • star 的作用是收藏,目的是方便以后查找。
  • watch 的作用是关注,目的是等作者更新的时候,你可以收到通知。
  • fork 的作用是参与,目的是你可以增加新的内容,然后 Pull Request,把你的修改和主仓库原来的内容合并。

fork可以将别人的工程复制到自己账号下。但有一个缺点是:当源项目更新后,你fork的分支并不会一起更新,需要自己手动去更新。

fork之后,一般可以看到一个带有自己git名称的ssh或者https访问的地址。例如:

[email protected]:fuleying/parrots.git       可以ssh无密码git push!!

https://github.com/fuleying/parrots.git

参与别人的开源项目,只需访问它的项目主页,点“Fork”就在自己的账号下克隆了一个仓库,

然后从自己的账号下使用SSH URL进行clone,因为只有SSH URL 链接的仓库才能推送修改。

开发完成后要往自己的仓库推送。如果你希望你fork的官方库能接受你的修改,你就在GitHub上发起一个pull request。


  1. 首先在github上新建一个远程仓库git-learn,此时会看到一个带有自己git名称的ssh或者https访问的地址。
    https://github.com/fuleying/git-learn.git
    [email protected]:fuleying/git-learn.git
  2. 在本地建立一个相同名称的文件夹git-learn,并进入该文件夹目录
  3. git init 初始化空仓库
  4. 创建一些文件,git add,将文件纳入版本控制,可以将多个文件多步纳入
  5. git commit -m "first commit" 进行离线提交,完成纳入操作
  6. 添加远程仓库origin,即用字符串 origin指代对应的仓库地址,origin即远程仓库在本地的简称
    git remote add origin [email protected]:fuleying/git-learn.git
  7. 将本地的master分支push到远程仓库origin上  git push origin  master

git remote       查看当前配置有哪些远程仓库

git remote -v  --verbose的简写,显示远程仓库对应的克隆地址

git快照

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。


 

Git 专用名词

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

基本的 Git 工作流程如下:

  1. 在工作目录中修改某些文件。
  2. 对修改后的文件进行快照,然后保存到暂存区域。
  3. 提交更新,将保存在暂存区域的文件快照永久转储到 Git 目录中。
git fetch到远程仓库中拉取从你上次克隆以来别人上传到此远程仓库中的所有更新(或是上次 fetch 以来别人提交的更新)。fetch命令只是将远端的数据拉到本地仓库,并不自动合并到当前工作分支,只有当你确实准备好了,才能手工合并。
git fetch origin来同步远程服务器上的数据到本地。该命令首先找到origin是哪个服务器,然后从上面获取你尚未拥有的数据,更新你本地的数据库,然后把origin/master的指针移到它最新的位置上。

git clone自动创建本地的 master 分支用于跟踪远程仓库中的 master 分支。

git pull从原始克隆的远端仓库中抓取数据后,合并到工作目录中的当前分支。

时间: 2024-11-03 01:17:34

Git入门指南的相关文章

Git入门指南十一:Git branch 分支与合并分支

十五. Git branch 分支 查看当前有哪些branch [email protected] xmrobotium$ git branch * master 新建一个branch xm2.x [email protected] xmrobotium$ git branch xm2.x 切换到一个branch [email protected] xmrobotium$ git checkout xm2.x 新建并且切换到该branch,例: xm2.x [email protected] x

GIt入门

1.下载与安装 下载地址:http://code.google.com/p/msysgit/,该地址没有被墙,git官方网站http://git-scm.com/已经被墙,无法访问下载. 选择下载Git-1.7.11-preview20120710.exe,这是笔者写这篇文章时的最新版本.下载完成,点击exe一路安装即可. 2.配置 (1)每一次提交都需要包含你的名字和你的Email地址,因此需要配置一下这两个参数,使用以下命令: Shell代码   git config --global us

史上最浅显易懂的Git学习指南

今天在网上搜了下Git,找到了一个很好的Git学习指南,尽然一口气把它全部刷了一遍,算是简单入门了.教程写的很好,浅显易懂,配有实例讲解,还有小视频.感觉很棒,于是我在Linux(deepin)环境下一步一步的学习,感觉效果很好.推荐一下,也作为一个学习的参考. 是技术大牛廖雪峰写的 链接地址:传送门 另外有官方文档的中文翻译 http://git.oschina.net/progit/ 可以参考一下 Git的官方网站:http://git-scm.com GitHub官网:https://gi

【翻译】Fluent NHibernate介绍和入门指南

英文原文地址:https://github.com/jagregory/fluent-nhibernate/wiki/Getting-started 翻译原文地址:http://www.cnblogs.com/13yan/p/5685307.html 入门指南 Fluent NHibernate 概述 Fluent NHibernate 提供一个替代 NHibernate 的标准 XML 映射文件的方法.而不是编写 XML 文档 (.hbm.xml 文件),Fluent NHibernate 可

【转】git - 简明指南

git - 简明指南 助你入门 git 的简明指南,木有高深内容 ;) 作者:罗杰·杜德勒 感谢:@tfnico, @fhd 和 Namics其他语言 english, deutsch, español, français, indonesian, italiano, nederlands, polski, português, русский, türkçe, ??????, 日本語, ??? Vietnamese 如有纰漏,请在 github 提报问题 安装 下载 git OSX 版 下载

git入门大全

git入门大全 阅读目录 前言 基本概念 文件几种状态 创建新仓库 配置 检出仓库 新建仓库常见流程 gitignore 添加.删除 提交 branch tag 远程仓库和合并分支 改写提交 暂存 撤销 diff log 其他命令 git内部 git提交规范 三种工作流程 命令行 参考 前言 以前写个一个git小结,但是实际上并不够用.于是结合实际工作上碰到的一些情况,参考了一些资料,重新总结了一下.目标是在日常工作中不用再去查阅其他的资料了,如果有什么遗漏或者错误的地方,请评论指出! 基本概念

有趣的机器学习:最简明入门指南

有趣的机器学习:最简明入门指南 首页 最新文章 IT 职场 前端 后端 移动端 数据库 运维 其他技术 - 导航条 - 首页 最新文章 IT 职场 前端 - JavaScript - HTML5 - CSS 后端 - Python - Java - C/C++ - PHP - .NET - Ruby - Go 移动端 - Android - iOS 数据库 运维 - Linux - UNIX 其他技术 - Git - 机器学习 - 算法 - 测试 - 信息安全 - Vim 伯乐在线 > 首页 >

Quartz.NET简介及入门指南

Quartz.NET简介 Quartz.NET是一个功能完备的开源调度系统,从最小的应用到大规模的企业系统皆可适用. Quartz.NET是一个纯净的用C#语言编写的.NET类库,是对非常流行的JAVA开源调度框架 Quartz 的移植. 入门指南 本入门指南包括以下内容: 下载 Quartz.NET 安装 Quartz.NET 根据你的特定项目配置 Quartz 启动一个样例程序 下载和安装 你可以下载 zip 文件或使用 Nuget 程序包.Nuget 程序包只包含 Quartz.NET 运

Java程序员的Golang入门指南(上)

Java程序员的Golang入门指南 1.序言 Golang作为一门出身名门望族的编程语言新星,像豆瓣的Redis平台Codis.类Evernote的云笔记leanote等. 1.1 为什么要学习 如果有人说X语言比Y语言好,两方的支持者经常会激烈地争吵.如果你是某种语言老手,你就是那门语言的"传道者",下意识地会保护它.无论承认与否,你都已被困在一个隧道里,你看到的完全是局限的.<肖申克的救赎>对此有很好的注脚: [Red] These walls are funny.