博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Git和GitHub的区别及相关术语解析
阅读量:5796 次
发布时间:2019-06-18

本文共 2191 字,大约阅读时间需要 7 分钟。

Git和GitHub的区别 

  • Git是一个分布式的版本控制系统,与SVN类似;最初由Linus Torvalds编写,用作Linux内核代码的管理。在推出后,Git在其它项目中也取得了很大成功,尤其是在Ruby社区中,所以目前有很多著名的项目都使用Git进行版本控制;
  • 而GitHub是托管各种git库,并提供一个web界面的一个网站(官方地址是),可以通过本地的git客户端将自己的代码上传至GitHub;可以在GitHub上建立公共库,作为开源软件或个人使用,也可以付费建立私有库,这样就可以作为公司内部软件的代码管理工具;

GitHub术语解析(英语不太好的同学有福了) 
Blame 
Git中的“blame”特性描述了文件的每一行的最近一次修改信息,包括修改内容、作者和时间等;可用于追踪某软件新特性的添加及引起bug的提交操作; 
Repository 
库是GitHub的最基本元素,可想象成本地的项目文件夹;一个库包含所有的项目文件(包括帮助文档),并保存每个文件的修改历史;库可以有多个合作开发者,也可以作为公共库或私有库的形式开发; 
Private Repository 
私有库,是指只能被库的创建者或者合作开发者查看并编辑的库,需要付费使用; 
Branch 
分支是一个库的并行版本,包含在库内,允许独立的开发而不影响现有主分支(primary or master)的运行;当在分支的修改需要发布时,就可以将分支合并(merge)至主分支(master branch),这样利于多人的分布式开发; 
==============================术语分类解析分割线=========================== 
Pull Request 
即代码合并请求,由其它开发者或用户向项目的collaborators提议的修改请求,collaborators觉得修改信息合理有效即接受,否则拒绝; 
Merge 
将一个分支中的修改内容应用到另一个分支的操作就做合并;若两个分支内的修改内容无冲突,则可以通过合并请求(a Pull Request)或命令行(the command line)完成合并操作; 
Clone 
克隆,是将GitHub上的库文件整个复制到本地主机上,可以实现离线修改,等上线后再同步至Github上的库即可; 
Commit 
提交信息,或者称为修改信息,是个人提交的对文件的修改记录; 
Fork 
对其它开发者的库的个人复制,复制的库存在你自己的账户上,你可以自行修改项目内容而不会影响原始的库,也可以将自己的修改通过合并请求(a pull request)的方式请求原始库的开发者更新你的修改; 
Fetch 
取回,表示从在线的库上获取最新的修改信息而不需要合并代码,取回的代码可以与你本地的分支代码进行比较; 
Push 
推送,表示将本地的修改内容推送至线上的库,这样其它的开发者就可以通过GitHub网站访问到你的修改内容了; 
Remote 
远端版本,即类似于GitHub.com的非本地主机的项目版本,可以连接至本地克隆的版本以实现内容同步;
 
==============================术语分类解析分割线=========================== 
User 
用户,指个人注册的GitHub账户,每个用户都可以拥有多个公共库或私有库,也可被邀请加入organizations或称为collaborates; 
SSH Key 
私钥,是GitHub用以验证你本地主机的身份的,并用此密钥加密传输GitHub网站和你本地主机的数据传输,以保证安全性;这个是需要在“Set up Git”步骤中配置的; 
Organizations 
组织,即多个开发者组成的团体,可包含众多的库和开发团队; 
Collaborator 
合作开发者,被库的所有者邀请共同开发某一项目,拥有对库的读写权限; 
Contributor 
贡献者,对项目有所贡献(如提交代码,修复bug等)的开发者,但不具备合作开发者的访问权限;
 
==============================术语分类解析分割线=========================== 
Diff 
差异,指2个commit或保存的改变间的差异,可以很直观的看出一个文件自上次commit后增加或删除的内容; 
Open Source 
开源,原指可自由使用、修改和传播的软件,现扩展为一种超越软件的合作哲学,即工件(working materials)在线可用,可被任何人复制(fork)、修改(modify)、讨论(discuss)、并提出修改意见(contribute to); 
Markdown 
一种轻量级的标记语言,书写简单,不同于html,无需大量的<tag>就可以实现内容的格式化;GitHub上的众多库中的帮助文档就是这种格式,如README.md; 
Upstream 
上游,对于一个branch或者fork来说,源库的主分支即是其它修改信息的源头,被称为upstream,相对的其它branch或fork就被称为downstream了;
 
详见: 
参考 

转载于:https://www.cnblogs.com/doubolexiang/p/7217789.html

你可能感兴趣的文章
vmware通过地址连接SSH secureCRT解决缓慢的速度连接
查看>>
runtime
查看>>
[转载]安装完 MySQL 后必须调整的 10 项配置
查看>>
SpringMVC拦截器(资源和权限管理)
查看>>
laravel的模板继承的使用
查看>>
我的友情链接
查看>>
FireEye:雪人行动针对美国海外战争退伍军人网站
查看>>
java.util.date 转为 java.sql.date
查看>>
oracle使用dblink跨库查询的例子
查看>>
LINUX简单指令(时间戳转换)
查看>>
Squid 反向代理服务器配置
查看>>
情深意伤
查看>>
Java I/O操作
查看>>
Tomcat性能调优
查看>>
项目管理心得
查看>>
Android自学--一篇文章基本掌握所有的常用View组件
查看>>
C语言--static的用法
查看>>
Java基础之Java并发编程:volatile关键字解析
查看>>
Web版RSS阅读器(二)——使用dTree树形加载rss订阅分组列表
查看>>
虚拟化环境下对公司业务服务器实现NLB+SQL高可用(一)
查看>>