Git学习手记10:建立Github远程仓库

上一节《Git学习手记9:删除文件》

Git是分布式版本控制系统,同一个Git仓库,可以分布到不同的机器上,没有主次之分。这个特性,很好的解决了硬盘挂掉的问题。当你本机的硬盘故障,或本地的版本库损坏,你可以很轻松的从另外一个机器上克隆(clone)这个版本库。

$ git clone [url]

Downloads a project and its entire version history

所以,你需要有一个台24小时运行的Git服务器

或者使用GitHub,免费使用的无限制的公共Git远程仓库,当然,GitHub上也可以购买Private repositories

作为学习,我个人非常喜欢把自己的项目开源到Github,若公司用户,可以自己:搭建Git服务器.

Git学习手记10:建立Github远程仓库_第1张图片

第一步:在GitHub上注册自己的账户,按提示做就可以。

第二步:本地Git仓库和GitHub仓库之间的传输是通过SSH加密的,所以需要在本地创建ssh key,用命令:

$ ssh-keygen -t rsa -C "[email protected]"

后面的[email protected]改为你在github上注册的邮箱,之后一路回车即可,如下

Git学习手记10:建立Github远程仓库_第2张图片

然后回到GitHub,进入Account Settings(账户配置),左边选择SSH and GPG Keys,在点击:New SSH Key按钮

Git学习手记10:建立Github远程仓库_第3张图片

/.ssh文件夹下打开id_rsa.pub,复制里面的key,然后粘贴到下图的Key里面,点击Add SSH Key按钮

Git学习手记10:建立Github远程仓库_第4张图片

为了验证是否成功,输入命令:

$ ssh -T [email protected],收到信息“You've successfully authenticated, but GitHub does not provide shell access ”,这就表示已成功连上github。

Git学习手记10:建立Github远程仓库_第5张图片

之所以GitHub需要SSH Key,是因为GitHub需要识别出你推送的提交确实是你推送的,而不是别人冒充的;GitHub知道了你的公钥(key),就可以确认是你自己在推送(Push)

当然,GitHub允许你添加多个Key。假定你有三台电脑,一台在公司,一台在家里,还有一台笔记本,只要把每台电脑的Key都添加到GitHub,就可以在每台电脑上往GitHub推送了

第三步,在GitHub,创建一个新的仓库。这个仓库可以跟本地的仓库同步,作为本地的备份。

登录GitHub后,点击New repository

Git学习手记10:建立Github远程仓库_第6张图片

Repository name 填入 仓库名 ,其他保持默认设置,点击"Create repository"按钮,就成功地创建了一个新的Git仓库

Git学习手记10:建立Github远程仓库_第7张图片

.gitignore 是“git ignore”,用于告诉git 必须放到Git工作目录中又不想提交的文件,参考《忽略特殊文件》,本文选择None

根据版权法规定,如果开源项目中没有包含任何一种OSI批准的开源许可证,那么其他用户将没有权利以任何目的任何形式去使用这些代码或fork这些项目。由此,Github呼吁开源项目开发者选择一个许可证。并发布了choosealicense.com网站,告诉大家如何选择License。本文创建的是一个用于演示本文所述原理的小项目,不是一个有意义的开源项目,所以不添加license

创建成功后,显示如下信息:

Git学习手记10:建立Github远程仓库_第8张图片

以上信息告诉我们可以从这个仓库克隆出新的仓库,也可以把本地仓库的内容推送到GitHub仓库。

现在,我们根据 GitHub 的提示,在本地的仓库下运行命令:

$ git remote add origin [email protected]:ILoveAmy/LearnGit.git

注意:把上面的ILoveAmy/LearnGit.git替换成你自己的GitHub账户名/仓库名

接着用命令:

$ git push -u origin master

把本地库的内容推送到远程的Git库,如下图所示:

Git学习手记10:建立Github远程仓库_第9张图片

刷新GitHub项目页面,就可以看到项目文件已经推送到Git仓库了

Git学习手记10:建立Github远程仓库_第10张图片

注意:origin,这是Git远程库的默认叫法,今后看到origin就知道是远程库。

分布式版本系统的最大好处之一是在本地工作完全不需要考虑远程库的存在,也就是有没有联网都可以正常工作,而SVN在没有联网的时候是拒绝干活的!当有网络的时候,再把本地提交推送一下就完成了同步,真是太方便了!——摘自《添加远程库》

提交到GitHub的命令:

$ git remote add origin [email protected]:ILoveAmy/LearnGit.git

$ git push -u origin master

下一节《Git学习手记11:查看、克隆、提取、拉回、删除Git仓》


上一条大新闻《Microsoft to acquire GitHub for $7.5 billion》:Acquisition will empower developers, accelerate GitHub’s growth and advance Microsoft services with new audiences

参考文献:《Let’s get started with GitHub!》

你可能感兴趣的:(Git学习手记10:建立Github远程仓库)