在GitHub上创建上传下载开源项目代码
1、注册GitHub帐号,创建GitHub项目代码仓库
1.1、注册GitHub帐号
在使GitHub之前,需要先登录其官网注册一个免费使用的账号。登录 https://github.com/join?source=header-home进行注册。
1.2 在GitHub上添加SSH Key
为什么要在GitHub上添加SSH Key呢?因为 GitHub 需要识别出提交的代码确实是你提交的而不是别人。Git支持SSH协议,因此GitHub只要知道了你的公钥,就可以确认代码是你提交的。当然, GitHub允许你添加多个SSH Key。例如你有若干电脑,只要把每台电脑的SSH Key都添加到 GitHub上,就可以在每台电脑上往 GitHub 推送了。注意:在GitHub上免费托管的Git仓库,任何人都可以看到,所以不要把私密信息放在GitHub上免费托管的Git仓库中。
使用如下命令生成 SSH Key:

执行上述命令以后,会确认是否将 SSH Key 文件存放到~/.ssh 目录,如果已经存在该目录,且该目录已经有了SSH Key,会询问用户是否覆盖。接下来让你连续两次输入密码,注意输入密码的时候没有回显,两次密码都是注册 GitHub 时候的登陆密码。如果一切正常,会出现如图 1-1 所示的信息,然后在~/.ssh 目录会生成 id_rsa 和 id_rsa.pub 两个文件,它们是 SSH Key 的秘钥对。 id_rsa是私钥,不能泄露出去; id_rsa.pub是公钥,可以放心地告诉任何人。

图 1-1 生成 SSH Key 成功
用文本编辑器打开id_rsa.pub 文件,将里面的内容全部复制(注意不要修改任何内容)。在GitHub主页面右上角点击下拉箭头,如图 1-2 所示。

图 1-2 添加 SSH Key 的入口
然后点击 seetings,在新页面左侧选择 SSH Keys,在右侧点击“New SSH key”,在下方输入 Title 以及 Key, Title 随便填写,Key 选项的输入框就粘贴刚刚从 id_rsa.pub 复制的内容。如图 1-3 所示,然后单击“Add SSH key” 按钮,接下来会弹出一个窗口让你输入GitHub帐号的密码,输入确认后即可添加一个 public key。

图 1-3 添加Public SSH Key
设置完SSH key以后,可用如下命令检测公钥、秘钥以及上述步骤的设置是否正确:
$ ssh-keygen -t rsa -C "注册 GitHub 使用的邮箱"
1.3、GitHub上新建repository
点击https://github.com/主页右上角的加号(+)按钮, 然后选择“New Repository”,如图 1-4 所示

图 1-4 新建repository页面
依次填入repository名称以及对项目的描述和选择项目是否公开,这里要选择Public,还可以选择项目遵循的许可协议,我们选择的是GPLv3(可以不选),具体的设置如图 1-5 所示,最后点击“Create repository”完成开源项目的创建。

图 1-5 创建一个 GitHub 项目repository
2、上传代码到GitHub仓库
首先要配置Git邮箱和用户名:

接下来需要获取在GitHub上的项目仓库的URL。在GitHub主页面上,单击右下方的仓库标签,如图 1-6所示:

如果是一个空的仓库,会弹出如下页面:

我们可以按照提示把代码上传到GitHub仓库。如果本地已经有一个Git仓库,我们可以在本地git仓库目录下执行红色框中的命令把代码上传到GitHub仓库中去。
git remote add origin git@github.com:AP0904225/dssdf.git这个命令将本地代码库和 GitHub 远程代码库关联起来, 其中origin表示的是远程代码库的仓库名字;
git push -u origin master命令将本地版本库主分支(master)中的文件上传到GitHub,其中-u 选项是第一次push的时候使用,将本地和远程的master分支关联起来,并同步文件,以后就可以用命令git push origin master来推送代码到GitHub仓库。
执行如下命令git branch -a查看所有分支,会发现多了 remotes/origin/master 远程版本库分支。代码上传成功后,打开GitHub的项目主页面,刷新一下即可看见刚刚上传的文件。
3、下载GitHub仓库代码
Git可以使用http地址或者SSH指定 URL 来下载存放在GitHub上的代码。在GitHub代码仓库主页上点击”Clone or download”,会弹出如下提示:

我们可以把GitHub上的代码已压缩包的形式下载,也可以使用http地址或者SSH来下载存放在 GitHub上的代码。例如这里选择Clone with SSH,点击页面的复制图标把SSH URL地址复制下来,使用git clone命令下载整个项目的源代码:
|
$ git clone git@github.com:AP0904225/u-boot-2016.09-FriendlyARMTiny4412.git |
下载完成后会在当前目录多了一个u-boot-2016.09-FriendlyARMTiny4412的目录,该目录内容与GitHub的一模一样。如果只是想获取某一个分支的最新内容,只需使用git pull origin master命令,表示或其远程版本库origin的master分支的最新内容。
在GitHub上创建上传下载开源项目代码的更多相关文章
- Github上关于iOS的各种开源项目集合(强烈建议大家收藏,查看,总有一款你需要)
下拉刷新 EGOTableViewPullRefresh - 最早的下拉刷新控件. SVPullToRefresh - 下拉刷新控件. MJRefresh - 仅需一行代码就可以为UITableVie ...
- GitHub上史上最全的Android开源项目分类汇总 (转)
GitHub上史上最全的Android开源项目分类汇总 标签: github android 开源 | 发表时间:2014-11-23 23:00 | 作者:u013149325 分享到: 出处:ht ...
- github上关于iOS的各种开源项目集合(转)
UI 下拉刷新 EGOTableViewPullRefresh - 最早的下拉刷新控件. SVPullToRefresh - 下拉刷新控件. MJRefresh - 仅需一行代码就可以为UITable ...
- 转: Github上关于iOS的各种开源项目集合
https://blog.csdn.net/jiashaoying/article/details/79079500 下拉刷新 EGOTableViewPullRefresh - 最早的下拉刷新控件. ...
- 使用Eclipse上传/下载Git项目
使用Eclipse上传/下载Git项目 前提: Eclipse已安装EGit插件 已拥有GitLab / GitHub / 其它Git托管服务账号 SSH方式 配置 配置Git信息 配置用户信息 Ec ...
- GitHub上最火的Android开源项目(一)
GitHub在中国的火爆程度无需多言,越来越多的开源项目迁移到GitHub平台上.更何况,基于不要重复造轮子的原则,了解当下比较流行的Android与iOS开源项目很是必要.利用这些项目,有时能够让你 ...
- Github上的几个C++开源项目
Github上的几个C++开源项目 http://blog.csdn.net/fyifei0558/article/details/47001677 http://www.zhihu.com/ques ...
- 2019年9月Github上最热门的JavaScript开源项目
2019年9月Github上最热门的JavaScript开源项目 前端开发 前端开发 微信号 qianduan1024 功能介绍 专注于Web前端技术文章分享,包含JavaScript.HTML5 ...
- Github上关于iOS的各种开源项目集合2(强烈建议大家收藏,查看,总有一款你需要)
资源list:Github上关于大数据的开源项目.论文等合集 Awesome Big Data A curated list of awesome big data frameworks, resou ...
随机推荐
- HDU1874 最短路 SPFA
最短路 Time Limit: 1 Sec Memory Limit: 128 MB Submit: 24 Solved: 17 [Submit][Status][Web Board] Descr ...
- Git学习 -- 远程仓库
第1步:创建SSH Key 在用户目录下的.ssh目录中,查看是否有id_rsa和id_rsa.pub两个文件,若没有则通过以下命令生成秘钥对: $ ssh-keygen -t rsa 第2步:登陆G ...
- Java8学习笔记----Lambda表达式 (转)
Java8学习笔记----Lambda表达式 天锦 2014-03-24 16:43:30 发表于:ATA之家 本文主要记录自己学习Java8的历程,方便大家一起探讨和自己的备忘.因为本人 ...
- PAT (Advanced Level) 1114. Family Property (25)
简单DFS. #include<cstdio> #include<cstring> #include<cmath> #include<vector> # ...
- C# 上传文件至远程服务器
C# 上传文件至远程服务器(适用于桌面程序及web程序) 2009-12-30 19:21:28| 分类: C#|举报|字号 订阅 最近几天在玩桌面程序,在这里跟大家共享下如何将本地文件上传 ...
- 【转】PHP里的basename函数不支持中文名的解决
今天用到basename 函数获取文件名称时,发现如果是中文的文件名返回只有后缀的空文件名(如:.pdf) string basename ( string path [, string suf ...
- windows cmd 命令大全
原文: http://www.cnblogs.com/greatverve/archive/2011/12/09/windows-cmd.html 命令简介 cmd是command的缩写.即命令行 . ...
- Cannot open the disk 'F:\centos64-final\CentOS 64-bit\CentOS 64-bit.vmdk' orone of the snapshot disk
删除虚拟机系统目录下的 后缀名为 .lck 的文件或文件夹 这个lck文件是虚拟机的磁盘锁文件,我们知道虚拟机的磁盘与主机的磁盘是共存的,只是由于采用特定的虚拟机制,使二者互不影响.在使用虚拟机时,v ...
- linux下的安装百度云网盘
linux下的百度网盘 (2014-10-20 18:01:14) 标签: linux 百度网盘 网盘 百度 forlinux 分类: 技术博文 百度网盘说实话,其实我挺喜欢的,好处什么的,就不说了, ...
- 一道js题(引用类型、基本类型、包装对象、函数赋值)
var a = 1; var obj = { b: 2 }; var fn = function () {}; fn.c = 3; function test(x, y, z) { ...