Git和GitHub的区别html
GitHub术语解析git
配置使用github
注册GitHub账号web
建立Git浏览器
建立库安全
复制库bash
社交化ssh
Git和GitHub的区别分布式
Git是一个分布式的版本控制系统,与SVN相似;最初由Linus Torvalds编写,用做Linux内核代码的管理。在推出后,Git在其它项目中也取得了很大成功,尤为是在Ruby社区中,因此目前有不少著名的项目都使用Git进行版本控制;工具
而GitHub是托管各类git库,并提供一个web界面的一个网站(官方地址是https://www.github.com/),能够经过本地的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://help.github.com/articles/github-glossary
配置使用
注册帐户
帐户注册没什么好说的,按照步骤进行便可;
注:别忘记邮箱认证哦,之后的代码提交都须要依赖你本身设置的主邮箱地址(Promary GitHub Email)哦
GUI客户端下载:http://git-scm.com/downloads
建立Git(Set up Git)
向GitHub提交你的用户名和邮箱地址,用以标识你的commit;
注:用户名能够随意,但邮箱地址与绑定在GitHub账户上的必须一致;
本地保存密码,避免每次经过https去clone一个库时都须要提供用户名和密码
注:在下载git-credential-osxkeychain时,也可将地址直接复制到浏览器,下载速度会更快哦!
若想经过ssh方式去clone自有的库,则需先配置SSH key
生成公钥和私钥
复制公钥内容并配置至GitHub中:cat ~/.ssh/id_rsa.pub
验证测试
注:我的测试未经过,老是超时,只能暂时使用HTTPS方式了。
详见:https://help.github.com/articles/set-up-git#platform-all
建立库(Create repositories)
在GitHub上建立一个新的repo
为新建立的repo添加帮助文档README
建立README文件
提交README文件
推送所提交的内容
为README文件增长内容后再次提交推送
vi README # 编辑内容 git commit -a # 编写内容保存后,会自动提交的 git push origin master # 再次推送一次,以更新GitHub上的内容
访问验证
详见:https://help.github.com/articles/create-a-repo
复制库(Fork repositories)
复制库
克隆复制的库至本地
修改远端指向源库,而非你本身fork后的库;库被克隆后,默认会建立一个指向fork后的库的远端origin哦
推送提交至本身fork后的库中
从源库获取更新,并合并进本身fork后的库的主分支中
建立分支并设置为当前活动分支
分支间切换
合并分支并删除
详见:https://help.github.com/articles/fork-a-repo
社交化(Be Social)
开始找朋友,能够关注某些技术大牛的随时更新哦
追踪某个项目
经过发送Pull Request,将本身的修改代码提交给源项目的合做开发者,以贡献本身的微薄之力
处理事件Issues,主要是指追踪项目出现的问题的集中地
建立组织,合做开发
标星收藏感兴趣的项目