github

原创 2016年05月31日 19:54:17

Version control tool版本控制工具:git 是与remote代码库的网站github进行交互的必要工具。可以直接从代码库克隆到本地,如果有权限,还能commit代码。另一种迂回的方式是在github上把代码库克隆为授权帐号下的代码库,然后进行操作。


很多时候,需要从github下载个别文件,此时不想使用上述传统繁琐的方法,尝试了wget,发现下载了一个html文件,不是我想要的,很快意识到用https的URL进行文档下载时,一般以主机+资源路径的方式。而最近的IETF文档中,出现了#,#!此类的路径项,#后接hash tag,指向资源文件内的位置,#!称为hash bang,此类URL称为pretty AJAX URL。#!不同的URL,视为不同的网页(内容)。因此,github的URL:如

https://github.com/emacs-mirror/emacs/blob/master/lisp/emacs-lisp/cl-lib.el

是HTTPserver用来显示cl-lib.el内容的一个网页,而并非cl-lib.el文件本身。显示在本地的cl-lib.el内容,一般是在服务器先渲染好之后在把整个网页传到浏览器,如果直接拷贝下来,有可能不是源文件。其他的如图片之类的一般是通过不同的http连接下载的因此其内容不会变化。


github上有个RAW的按钮可以生成cl-lib.el的真实URL

https://raw.githubusercontent.com/emacs-mirror/emacs/master/lisp/emacs-lisp/cl-lib.el

,用此URL就可以了。


言归正传,

git协议,用git库(组)+对象(引用)的方式。这里,对象指文档及历史(在objects目录下),ref指对象的引用,比如标签,分支(在refs目录下)。fetch的tag可以通过refspec制定。

本地库从远程库中获取,上传数据,应该用pull/push,其实上传的也就是一些commit。fetch必须指定远程仓库,chechout直接从本地仓库获取数据到工作区(其实中间还有个暂存区,用stage命令暂存工作区数据,如果工作区和暂存区都有数据,提交新的),因此未提交版本会被覆盖(意思是必须用git remote/git clone/git fetch建过本地仓库的远程库)。

暂存区:索引,能与工作区文件比较,生成commit

commit,对象,内容指向tree对象。

树对象,内容为数据对象或者其他树对象。

git的基础数据结构:key(SHA1),content(文件等一切对象)

书签向前走是通过经过gerrit代码审查后的commit。

GIT-FETCH(1)                                                     Git Manual                                                     GIT-FETCH(1)

NAME
       git-fetch - Download objects and refs from another repository

SYNOPSIS(概要)
       git fetch [<options>] [<repository> [<refspec>...]]
       git fetch [<options>]<group>
       git fetch --multiple [<options>] [(<repository> |<group>)...]
       git fetch --all [<options>]

结合,git fetch,澄清git的相关内容:

全局数据:

远程代码库,URL,  远程分支(refs/remotes/)局部数据

本地代码库,命名,URL地址代表远程代码库,多个分支(refs/heads/)(局部数据


git中所有的对象都由其SHA1值替代,对象内容==SHA1值。因此,历史数据是全量的,非增量保存的。

历史数据可以用tag命令打上标签,便于搜索。






版权声明:本文为博主原创文章,未经博主允许不得转载。

【Github教程】史上最全github使用方法:github入门到精通

【初识Github】 首先让我们大家一起喊一句“Hello Github”。YEAH!就是这样。 Git是一个分布式的版本控制系统,最初由Linus Torvalds编写,用作Linux内核代码的管...
  • rj597306518
  • rj597306518
  • 2017年05月07日 08:47
  • 6031

GitHub入门:各种概念、图解页面信息(都是知识点啊小伙伴们)

原创文章,转载请注明出处:http://blog.csdn.net/android_zyf/article/details/64122889Mac版GitHub下载地址(需要梯子):https://m...
  • android_zyf
  • android_zyf
  • 2017年03月20日 22:21
  • 1225

GitHub和SVN的区别

之前用的版本控制系统是SVN,但是最近因为流行使用GitHub,这篇文章认识一下Git和SVN的区别。 1)Git是分布式的,SVN不是: 这 是git和其它非分布式的版本控制系统,例如SVN,CV...
  • Peter_tang6
  • Peter_tang6
  • 2017年08月02日 15:00
  • 1483

GitHub Essentials 无水印原版pdf

  • 2018年01月12日 00:33
  • 8.24MB
  • 下载

吴恩达机器学习课后练习题和编程作业github

  • 2018年01月13日 07:44
  • 867B
  • 下载

github的Windows版本

  • 2018年01月11日 09:37
  • 74.88MB
  • 下载

Mac上将本地项目上传到GitHub仓库

  • 2017年12月24日 15:47
  • 3.16MB
  • 下载

Github for Windows desktop

  • 2017年11月20日 20:34
  • 78.09MB
  • 下载

Python for Data Analysis, 2nd Edition(英文原版)--附GitHub中文翻译版

  • 2017年12月26日 15:03
  • 7.58MB
  • 下载

Redis-x64-3.2.100(github上的window安装板)

  • 2018年01月06日 11:10
  • 5.32MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:github
举报原因:
原因补充:

(最多只允许输入30个字)