GitHub简介
GitHub是一个面向开源及私有软件项目的托管平台,因为只支持git 作为唯一的版本库格式进行托管,故名GitHub。除了Git代码仓库托管及基本的 Web管理界面以外,还提供了订阅、讨论组、文本渲染、在线文件编辑器、协作图谱(报表)、代码片段分享(Gist)等功能。百度百科
原网址:https://www.cnblogs.com/jyd0124/p/github.html
名词概念
仓库-Repository
即项目,开源一个项目,就新建一个 Repository,一个项目对应一个Repository。
收藏-Star
收藏项目,方便下次查看
复制克隆项目-Fork
想在别人开源的项目上,做分支改进,或想应用到自己项目上,这时都可以Fork他们的项目,注意Fork的项目是独立存在的
发起请求-Pull Request
是基于 Fork 的,如果你在别人的项目基础之上做了一些改进,想把这些改进让更多的人受益。于是把改进合并进原有项目之中,你就可以发起一个Pull Request。而项目创建人可以收到这个请求,会仔细review他的代码,并且测试后觉得OK,就可以接受你的Pull Request,之后你做的改进就可以合并到原有项目之中了。
关注-Watch
如果你Watch了某个项目,那么以后只要这个项目有任何更新,你都会收到关于这个项目的通知
事务卡片-Issue
你开源了一个项目,别人发现你的项目中有bug,或者哪些地方做的不够好,他就可以给你提一个Issue(即问题),你如果看到了这些Issues,就可以逐个去修复解决。
创建仓库/新项目
注:以前GitHub私人仓库是要收费的,但是被微软收购后就免费了
项目主页说明
仓库管理
新建文件
点击Create new file开始创建文件
编辑文件
删除文件
查看提交记录
上传项目文件
查找文件
下载检出项目
注:这里是私人仓库不是开源的,所以还要SSH key才能用Git下载
用Git连接到GitHub
第一步:
由于本地Git仓库和GitHub仓库之间的传输是通过SSH加密的,所以在用户主目录下需要一点设置
ssh-keygen -t rsa -C "youremail@example.com"
然后一路回车
第二步
登陆GitHub,打开“Account settings”,“SSH Keys”页面
因为GitHub需要识别出你推送的提交确实是你推送的,所以需要SSH key,并且GitHub允许你添加多个Key
第四步
创建一个远程仓库
git remote add origin git@github.com:yourname/learngit.git
把上面的yourname改成你的git帐号
注意:一定要在本地的Git仓库(目录)中执行,否则会报 fatal: not a git repository (or any of the parent directories): .git 错误
添加后,远程库的名字就是origin,这是Git默认的叫法,也可以改成别的,但是origin这个名字一看就知道是远程库。
第五步
推送到远程库
git push -u origin master
注:因为Git使用SSH连接,而SSH连接在第一次验证GitHub服务器的Key时,需要你确认GitHub的Key的指纹信息是否真的来自GitHub的服务器,输入yes回车即可。
推送成功后,可以立刻在GitHub页面中看到远程库的内容已经和本地一模一样
从现在起,只要本地作了提交,就可以通过命令提交
git push origin master
克隆一个本地库
git clone git@github.com:yourname/yourwarehouse.git
注意,把yourname换成你的名称,把yourwarehouse换成你要克隆的仓库
这就克隆成功了,要克隆一个仓库,首先必须知道仓库的地址,然后使用git clone命令克隆。Git支持多种协议,包括https,但通过ssh支持的原生git协议速度最快。
最后这页图很重要,是一个完整的Frok流程图,充分理解后可以和开源项目多人合作编程,也是公司多人合作的良好规范行为
git 是按照文件的行数操作进行对比,如果同时操作了某文件的同一行会产生冲突,git 也会把冲突标记出来,这时需先修改冲突,然后在 git add && git commit && git pull 这三连,再次 pull 一次是为了防止代码在修改时又有改动(比如有其它人又提交了一版代码,如果真发生了那流程再重复一遍),至到没有冲突后才能merge。