git学习3:远程仓库

Git是分布式版本控制系统,同一个git仓库,可以分布到不同的机器上,那么需要有一台机器上有一个原始版本库,这样别的机器可以克隆这个原始版本库,那么这台机器就是github。

1,创建SSH Key。

打开Shell(Windows下打开Git Bash),输入

ssh-keygen -t rsa -C "youremail@example.com"
然后一路回车,无需设置密码。

git学习3:远程仓库


然后在用户主目录里找到.ssh目录,里面有id_rsa和id_rsa.pub两个文件,
id_rsa是私钥,不能泄露,id_rsa.pub是公钥,可以放心告诉别人

2,登陆Github,进入settings,点击SSH Keys,点击Add SSH Key,
填写任意Title,在Key文本框粘贴id_rsa.pub文件的内容,然后点add Key。

注意:Github上免费托管的git仓库,任何人都可以看到,但只有你自己能改。


登陆github,右上角点击Create a new repository,在Repository name填入MyRScripts,其他默认设置,点击Create repository即成功创建了一个新的Git仓库。
在git命令行输入
$ git remote add origin git@github.com:NIck-Meng/MyRScripts.git
git学习3:远程仓库
接下来把本地库的所有内容推送到远程库上:输入
git push -u origin master
git学习3:远程仓库

解释:用git push可以把本地库的内容推送到远程库,由于远程库是空的,所以第一次推动需要加上-u 参数,以后就不需要了,
从现在开始,只要本地做了提交,就可以通过
git push origin master
将本地最新的master分支推送到Github。

SSH警告:
当第一次使用Git的clone或者push命令连接到github时,会得到警告,输入yes回车即可,这个警告只会出现一次,以后就不出现了。


第二部分:将远程库克隆到本地
首先,登陆GitHub,创建一个新的仓库,名字叫gitest
我们勾选Initialize this repository with a README,这样GitHub会自动为我们创建一个README.md文件。创建完毕后,可以看到README.md文件:
现在,远程库已经准备好了,下一步是用命令git clone克隆一个本地库:
进入某个目录,git bash进入命令行模式:
git clone git@github.com:NIck-Meng/gitest.git

然后进入该目录,可以看到gitest文件夹,已经有README.md文件了。

注意:git clone 会自动克隆远程库的master分支到本地,可以在本地建立对应分支名称,然后切换到对应分支

第三部分:开源项目协作

我们一直把github当做我们的代码托管平台,将其作为免费的远程仓库。其实在github上,我们不光可以让别人参与你的开源项目,也可以参与别人的开源项目。

那么如何使用github参与到一个开源项目中去呢?

比如人气极高的bootstrap项目,这是一个非常强大的CSS框架,

你可以访问它的项目主页https://github.com/twbs/bootstrap,点“Fork”就在自己的账号下克隆了一个bootstrap仓库,然后,从自己的账号下clone到本地:

git clone git@github.com:NIck-Meng/bootstrap.git

然后就可以修改bootstrap的bug或增加功能,完后往自己仓库推送,要是希望官方库接受你的修改,可以在github发起一个pull request,但是对方接不接受就不一定了。