在上一篇文章中说明了如何使用远程仓库,接下来,就使用常用远程仓库GitHub来管理你的project。
1)在GitHub上创建仓库
要使用GitHub,肯定要注册GitHub帐户,然后建立一个仓库。
至于如何使用在GitHub上创建仓库,参考:https://help.github.com/articles/create-a-repo/
我在GitHub上创建了一个仓库:example。
2)创建并配置ssh
GitHub是一个公共仓库管理平台,你创建的public的仓库是所有人可见的。如果你要将本地仓库的文件更新到GitHub上的仓库中,GitHub怎么识别是你提交的还是其它人提交的呢,这就是配置SSH的作用了。
生成SSH钥匙:
$ ssh-keygen -t rsa -C "youremail@example.com"
执行命令后,在根目录下生成公钥、密钥文件。如果是Linux系统,应该是在用户的home目录下.ssh目录下,如果是在Windows系统,也同样如此:
在GitHub上配置SSH:
登录GitHub后,在个人设置中SSHKeys配置中,添加配置:
copy 公钥文件内容(.pub结尾的文件),粘贴到浏览器相应位置。
3)将远程仓库纳入管理
其实就是添加远程仓库,在你已有的本地仓库目录下执行如下命令:
$ git remote add example git@github.com:yourUserId/example.git
或者使用:
$ git remote add example https://github.com/yourUserId/example
该命令的含义是:在远程添加一个example的仓库,这个远程仓库的url是:https://github.com/yourUserId/example
4)拉取远程文件
如果远程仓库中已有文件,就先要将文件拉到本地仓库。如果远程没有文件,就不需要这一步。
$ git pull example
$ vim .gitignore // 编辑 ignore文件
$ git add yourprojectfiles // 添加已有文件,让git 能够跟踪这些文件
$ git commit -a -m 'Initial Version' // 提交到本地仓库
$ git push example master // 将本地仓库(master)文件 push 到远程仓库(example)
clone
或者push
命令连接GitHub时,会得到一个警告:The authenticity of host 'github.com (xx.xx.xx.xx)' can't be established.
RSA key fingerprint is xx.xx.xx.xx.xx.
Are you sure you want to continue connecting (yes/no)?
这是因为Git使用SSH连接,而SSH连接在第一次验证GitHub服务器的Key时,需要你确认GitHub的Key的指纹信息是否真的来自GitHub的服务器,输入yes
回车即可。
Git会输出一个警告,告诉你已经把GitHub的Key添加到本机的一个信任列表里了:
Warning: Permanently added 'github.com' (RSA) to the list of known hosts.
这个警告只会出现一次,后面的操作就不会有任何警告了。
如果出现了下面错误:
src refspec master does not match any.
说明远程仓库中是有文件的,就需要进行4)操作。
6)可以使用GitHub查看结果了。