Git 使用教程(三):远程仓库GitHub
2018-03-23 11:51
519 查看
Git 使用教程(三):远程仓库GitHub
一、GitHub介绍
确切的说 GitHub 是一家公司,位于旧金山,由 Chris Wanstrath, PJ Hyett 与 Tom Preston-Werner 三位开发者在2008年4月创办。地址:https://github.com/ ,主要提供基于git的版本托管服务。一经上线,它的发展速度惊为天人,截止目前,GitHub 已经发展成全球最大的开源社区。二、GitHub与Git的关系
Git 是一款免费、开源的分布式版本控制系统,他是著名的 Linux 发明者 Linus Torvalds 开发的。说到版本控制系统,估计很多人都用过 SVN ,只不过 Git 是新时代的产物。而 GitHub 上面说了,主要提供基于 git 的版本托管服务。也就是说现在 GitHub 上托管的所有项目代码都是基于 Git 来进行版本控制的,所以 Git 只是 GitHub 上用来管理项目的一个工具而已,GitHub 的功能可远不止于此!
三、注册和设置GitHub(以下部分图片引用一个大佬的微信公众号内容)
先去https://github.com/ 官网注册账号,注册页面如下:这个应该没啥说的,需要填用户名、邮箱、密码,值得一提的用户名请不要那么随便,最好取的这个名字就是你以后常用的用户名了,也强烈建议你各大社交账号都用一样的用户名,这样识别度较高。
填好用户名、邮箱、密码紧接着到这一步:
这个是什么意思呢?GitHub 有两种,一种是公开,这种是免费的,就是你创建的项目是开放的,所有人都能看得到;另一种是私有,这种是收费的,这种一般是很多企业在使用 GitHub 的私有仓库在托管自己的项目,这也是 GitHub 的一种盈利模式对于个人你就直接默认选择公开的就行了。
注册成功之后你会到 GitHub 的主页面来:
你如果是新注册的可能看到的跟我不一样,因为你们新用户,没有自己的项目,没有关注的人,所以只有一个导航栏。
导航栏,从左到右依次是 GitHub 主页按钮、搜索框、PR、Issues、Gist(这些概念后面会讲的)、消息提醒、创建项目按钮、我的账号相关。
我的 Timeline,这部分你可以理解成微博,就是你关注的一些人的活动会出现在这里,比如如果你们关注我了,那么以后我 star、fork 了某些项目就会出现在你的时间线里。
我的项目,这部分就不用说了,如果你创建了项目,就里就可以快捷访问。
点击下图的 Your profile 菜单进入到你的个人 GitHub 主页:
还是以我的 GitHub 主页为例:
设置GitHub:
如果你是新注册的 GitHub 账号,是不是觉得很简陋?虽然你没有自己的项目,但是第一步起码要先完善自己的信息,点击如下的 Settings 菜单:
到设置页面来设置一些基本信息:
像头像、Name 建议要设置一个常用的,这两个很有识别性,公开的邮箱也要设置一个
四、GitHub的基本概念
上面认识了 GitHub 的基本面貌之后,你需要了解一些 GitHub 的基本概念,这些概念是你经常会接触并遇到的。Repository仓库的意思,即你的项目,你想在 GitHub 上开源一个项目,那就必须要新建一个 Repository ,如果你开源的项目多了,你就拥有了多个 Repositories 。
Issue
问题的意思,举个例子,就是你开源了一个项目,别人发现你的项目中有bug,或者哪些地方做的不够好,他就可以给你提个 Issue ,即问题,提的问题多了,也就是 Issues ,然后你看到了这些问题就可以去逐个修复,修复ok了就可以一个个的 Close 掉。
Star这个好理解,就是给项目点赞,但是在 GitHub 上的点赞远比微博、知乎点赞难的多,如果你有一个项目获得100个star都算很不容易了!
Fork这个不好翻译,如果实在要翻译我把他翻译成分叉,什么意思呢?你开源了一个项目,别人想在你这个项目的基础上做些改进,然后应用到自己的项目中,这个时候他就可以 Fork 你的项目,这个时候他的 GitHub 主页上就多了一个项目,只不过这个项目是基于你的项目基础(本质上是在原有项目的基础上新建了一个分支,分支的概念后面会在讲解Git的时候说到),他就可以随心所欲的去改进,但是丝毫不会影响原有项目的代码与结构。
Pull Request发起请求,这个其实是基于 Fork 的,还是上面那个例子,如果别人在你基础上做了改进,后来觉得改进的很不错,应该要把这些改进让更多的人收益,于是就想把自己的改进合并到原有项目里,这个时候他就可以发起一个 Pull Request(简称PR) ,原有项目创建人就可以收到这个请求,这个时候他会仔细review你的代码,并且测试觉得OK了,就会接受你的PR,这个时候你做的改进原有项目就会拥有了。
Watch这个也好理解就是观察,如果你 Watch 了某个项目,那么以后只要这个项目有任何更新,你都会第一时间收到关于这个项目的通知提醒。
Gist有些时候你没有项目可以开源,只是单纯的想分享一些代码片段,那这个时候 Gist 就派上用场了!
五、创建自己的项目
点击顶部导航栏的 + 可以快速创建一个项目,如下图:创建一个项目需要填写如上的几部分:项目名、项目描述与简单的介绍,你不付费没法选择私有的,所以接着只能选择 public 的,之后勾选「Initialize this repository with a README」,这样你就拥有了你的第一个 GitHub 项目:
可以看到这个项目只包含了一个 README.md 文件,但是它已经是一个完整的 Git 仓库了,你可以通过对它进行一些操作,如watch、star、fork,还可以 clone 或者下载下来。
六、设置SSH Key
由于你的本地Git仓库和GitHub仓库之间的传输是通过SSH加密的,所以,需要一点设置:第1步:创建SSH Key。在用户主目录下,看看有没有.ssh目录,如果有,再看看这个目录下有没有
id_rsa和
id_rsa.pub这两个文件,如果已经有了,可直接跳到下一步。如果没有,打开Git Bash,创建SSH Key:
$ ssh-keygen -t rsa -C "youremail@example.com"你需要把邮件地址换成你自己的邮件地址,然后一路回车,使用默认值即可,由于这个Key也不是用于军事目的,所以也无需设置密码。如果一切顺利的话,可以在用户主目录( /c/Documents and Settings/username/.ssh 下)里找到
.ssh目录,里面有
id_rsa和
id_rsa.pub两个文件,这两个就是SSH Key的秘钥对,
id_rsa是私钥,不能泄露出去,
id_rsa.pub是公钥,可以放心地告诉任何人。第2步:登陆GitHub,打开“Account settings”,“SSH Keys”页面:然后,点“Add SSH Key”,填上任意Title,在Key文本框里粘贴
id_rsa.pub文件的内容:
点“Add Key”,你就应该看到已经添加的Key:
为什么GitHub需要SSH Key呢?因为GitHub需要识别出你推送的提交确实是你推送的,而不是别人冒充的,而Git支持SSH协议,所以,GitHub只要知道了你的公钥,就可以确认只有你自己才能推送。当然,GitHub允许你添加多个Key。假定你有若干电脑,你一会儿在公司提交,一会儿在家里提交,只要把每台电脑的Key都添加到GitHub,就可以在每台电脑上往GitHub推送了。最后友情提示,在GitHub上免费托管的Git仓库,任何人都可以看到喔(但只有你自己才能改)。所以,不要把敏感信息放进去。如果你不想让别人看到Git库,有两个办法,一个是交点保护费,让GitHub把公开的仓库变成私有的,这样别人就看不见了(不可读更不可写)。另一个办法是自己动手,搭一个Git服务器,因为是你自己的Git服务器,所以别人也是看不见的。
相关文章推荐
- 使用gitbash上传代码到github远程仓库简单教程
- Android基础入门教程——1.5.2 Git之使用GitHub搭建远程仓库
- Android基础新手教程——1.5.2 Git之使用GitHub搭建远程仓库
- git命令与github使用(转主要看向远程仓库推内容)
- 使用git将代码存入远程仓库github和从github上克隆代码到本地
- Git的基本使用和上传到github的远程仓库
- windows下使用git和github建立远程仓库
- 使用Git命令从Github远程仓库更新项目
- Git使用教程(四)--远程仓库
- windows下使用git和github建立远程仓库
- windows下使用git和github建立远程仓库
- git快速入门(五)远程仓库以及如何使用github
- git笔记之eclipse使用github远程仓库进行版本管理
- 使用git命令提交远程github仓库的时候提示"rejected"(拒绝)解决办法
- git使用教程二 远程仓库操作
- 使用Git命令从Github远程仓库更新项目
- Git安装使用指南与Github远程仓库
- Git远程仓库及github的使用备注
- Git之使用GitHub搭建远程仓库
- 如何使用git命令同步代码到github或提交到多个远程仓库