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上创建上传下载开源项目代码的更多相关文章

  1. Github上关于iOS的各种开源项目集合(强烈建议大家收藏,查看,总有一款你需要)

    下拉刷新 EGOTableViewPullRefresh - 最早的下拉刷新控件. SVPullToRefresh - 下拉刷新控件. MJRefresh - 仅需一行代码就可以为UITableVie ...

  2. GitHub上史上最全的Android开源项目分类汇总 (转)

    GitHub上史上最全的Android开源项目分类汇总 标签: github android 开源 | 发表时间:2014-11-23 23:00 | 作者:u013149325 分享到: 出处:ht ...

  3. github上关于iOS的各种开源项目集合(转)

    UI 下拉刷新 EGOTableViewPullRefresh - 最早的下拉刷新控件. SVPullToRefresh - 下拉刷新控件. MJRefresh - 仅需一行代码就可以为UITable ...

  4. 转: Github上关于iOS的各种开源项目集合

    https://blog.csdn.net/jiashaoying/article/details/79079500 下拉刷新 EGOTableViewPullRefresh - 最早的下拉刷新控件. ...

  5. 使用Eclipse上传/下载Git项目

    使用Eclipse上传/下载Git项目 前提: Eclipse已安装EGit插件 已拥有GitLab / GitHub / 其它Git托管服务账号 SSH方式 配置 配置Git信息 配置用户信息 Ec ...

  6. GitHub上最火的Android开源项目(一)

    GitHub在中国的火爆程度无需多言,越来越多的开源项目迁移到GitHub平台上.更何况,基于不要重复造轮子的原则,了解当下比较流行的Android与iOS开源项目很是必要.利用这些项目,有时能够让你 ...

  7. Github上的几个C++开源项目

    Github上的几个C++开源项目 http://blog.csdn.net/fyifei0558/article/details/47001677 http://www.zhihu.com/ques ...

  8. 2019年9月Github上最热门的JavaScript开源项目

      2019年9月Github上最热门的JavaScript开源项目 前端开发 前端开发 微信号 qianduan1024 功能介绍 专注于Web前端技术文章分享,包含JavaScript.HTML5 ...

  9. Github上关于iOS的各种开源项目集合2(强烈建议大家收藏,查看,总有一款你需要)

    资源list:Github上关于大数据的开源项目.论文等合集 Awesome Big Data A curated list of awesome big data frameworks, resou ...

随机推荐

  1. HDU1874 最短路 SPFA

    最短路 Time Limit: 1 Sec  Memory Limit: 128 MB Submit: 24  Solved: 17 [Submit][Status][Web Board] Descr ...

  2. Git学习 -- 远程仓库

    第1步:创建SSH Key 在用户目录下的.ssh目录中,查看是否有id_rsa和id_rsa.pub两个文件,若没有则通过以下命令生成秘钥对: $ ssh-keygen -t rsa 第2步:登陆G ...

  3. Java8学习笔记----Lambda表达式 (转)

    Java8学习笔记----Lambda表达式 天锦 2014-03-24 16:43:30 发表于:ATA之家       本文主要记录自己学习Java8的历程,方便大家一起探讨和自己的备忘.因为本人 ...

  4. PAT (Advanced Level) 1114. Family Property (25)

    简单DFS. #include<cstdio> #include<cstring> #include<cmath> #include<vector> # ...

  5. C# 上传文件至远程服务器

    C# 上传文件至远程服务器(适用于桌面程序及web程序) 2009-12-30 19:21:28|  分类: C#|举报|字号 订阅     最近几天在玩桌面程序,在这里跟大家共享下如何将本地文件上传 ...

  6. 【转】PHP里的basename函数不支持中文名的解决

    今天用到basename 函数获取文件名称时,发现如果是中文的文件名返回只有后缀的空文件名(如:.pdf)    string basename ( string path [, string suf ...

  7. windows cmd 命令大全

    原文: http://www.cnblogs.com/greatverve/archive/2011/12/09/windows-cmd.html 命令简介 cmd是command的缩写.即命令行 . ...

  8. Cannot open the disk 'F:\centos64-final\CentOS 64-bit\CentOS 64-bit.vmdk' orone of the snapshot disk

    删除虚拟机系统目录下的 后缀名为 .lck 的文件或文件夹 这个lck文件是虚拟机的磁盘锁文件,我们知道虚拟机的磁盘与主机的磁盘是共存的,只是由于采用特定的虚拟机制,使二者互不影响.在使用虚拟机时,v ...

  9. linux下的安装百度云网盘

    linux下的百度网盘 (2014-10-20 18:01:14) 标签: linux 百度网盘 网盘 百度 forlinux 分类: 技术博文 百度网盘说实话,其实我挺喜欢的,好处什么的,就不说了, ...

  10. 一道js题(引用类型、基本类型、包装对象、函数赋值)

    var a = 1; var obj = {     b: 2 }; var fn = function () {}; fn.c = 3;   function test(x, y, z) {     ...