如果你有自己的优秀项目,想要分享给大家,那GitHub会是你正确的选择。如何才能将自己的项目上传到GitHub上呢?接下来请一步一步跟着走。

需要准备的资源:

    1.一台Mac机

    2.安装git客户端(下载地址:http://code.google.com/p/git-osx-installer/downloads/list?can=3),下载好直接安装就好。

    3.一个GitHub账户(注册地址:https://github.com/join?source=header-home)

    4.一个电子词典(如果是英文水平不错的小伙伴,就不需要了,因为注册流程为全英的,其他操作也是英文的)

    5.你的项目

准备好上面的以后就可以开始了。

一.创建属于你的SSH。SSH是Secure Shell的缩写,意为安全外壳协议,具体内容请百度搜索“SSH”。创建步骤如下:

1.1在GitHub网站登录后,找到下图所示的按钮,选择“Settings”

1.2接下来你会看到下图,选择“SSH and GPG keys”

1.3接下来就可以新建你的SSH keys,找到下图中所示的按钮“New SSH keys”

问题来了

这两个框框里填什么呢?

不要着急,下面的代码框里的东西会告诉你里面应该填什么,不过这里我们可能要岔开一会,讲一讲这两个框里的东西从哪来?不要着急,很短,不要跑神儿哦!不过我会提醒你再回到正轨上的。

打开终端

黑题是要手动输入的,“/**/”里时提示语,告诉你那里是干嘛用的
$ssh-keygen -t rsa -C xxxxx@gmail.com /*注册github时的email*/
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/.../.ssh/id_rsa): /*此处光标会停下来,等待你的输入,不用输入,直接回车“enter/return”*/
Created directory '/Users/.../.ssh'.
Enter passphrase (empty for no passphrase): /*此处是让你设置你SSH的密码,不输的话,默认没有密码*/
Enter same passphrase again: /*重新输入密码,用来验证*/
Your identification has been saved in /Users/.../.ssh/id_rsa.
Your public key has been saved in /Users/.../.ssh/id_rsa.pub.
The key fingerprint is:
18:16:11:c9:01:6c:48:09:7f:27:c6:43:0d:7f:3f:84 xxxxx@gmail.com
The key's randomart image is:
+--[ RSA 2048]----+
|.o.++=== |
|.ooo.+. . |
| ..* = E . |
| o = + o |
| . S o |
| . |
| |
| |
| |
+-----------------+

接下来请打开上面显示的路径(打开文件管理器,commend+shift+g,将路径粘贴进去回车),你就可以看到两个文件“id_rsa”和“id_rsa.pub”,使用文本编辑器打开“id_rsa.pub”将其中的内容全部复制。

好了放松一下,回到正轨上啦!且回到刚刚的网页,首先在“Title”下的文本框中输入你的注册邮箱,在“Key”下的文本框中粘贴刚刚复制的东西,点击带有“Add SSH key”字样的绿色按钮,就大功告成了。

二.创建完自己的SSH后,请创建你的项目的profile。

2.1还记得刚刚GitHub网站停留在哪一页吗?对,是设置SSH keys那一页,现在,在这一页找到下图所示的按钮,点击“New repository”

2.2你会看到

2.3接下来是要填入信息的解释:Repository name ->你项目的名称;Description->你项目的简单描述;下面的单选决定该项目是公有还是私有,公有时所有人都可以看,私有时可以选择给谁看;下面的复选框决定是否将你的项目介绍写入“README.md”文件。接下来点击“Create repository”即可。

三.好了,上传项目的工作已经接近尾声,坚持住,往下看。

3.1打开终端,输入以下命令

cd ~/.ssh

如果上面的步骤都没问题,此时你应该会进入该路径。下面将会发生神奇的事,在终端中即可完成代码的上传工作。

上传前请确保终端已经连接到GitHub,输入以下命令测试

ssh -T git@github.com

连接成功的返回应该是

Hi "your name"! You've successfully authenticated, but GitHub does not provide shell access.

3.2以此键入以下命令

touch README.md //新建一个记录提交操作的文档
git init //初始化本地仓库
git add README.md //添加文件
git commit -m "first commit"//提交到本地仓库,并注释
git remote add origin git@github.com:youname/Test.git //连接远程仓库并建了一个名叫:origin的别名
git push -u origin master //将本地仓库的东西提交到地址是origin的地址,master分支下

上面的代码做了什么?其实它只是讲一个文本文件提交到了“master”分支上,没什么特别的,值得注意的是,里面的“add”,“commit”和“push”三个操作,“add”可以添加多个文件分多行键入,也可添加当前目录下的所有文件“add .”即可,“commit”操作是提交到本地仓库,注意是本地仓库,这一操作不会影响远端的代码;“push”操作则是将本地修改的代码push到远端分支。

3.3最后一步,上传你的项目到GitHub。键入以下命令

首先切换到你项目所在的路径
git init
git add .
git commit -m "first commit"
git remote add origin git@github.com:youname/Test.git
git pull origin master
git push -u origin master

解释一下,上面现切换到你的项目所在的路径,从而可以使用“add .”命令将项目所有问价都上传到GitHub。

3.4本来到这你应该已经把自己的项目成功上传上去了,但是,也可能会遇见一些问题

例如

To git@github.com:PaulPaulBoBo/ForHealth.git
! [rejected] master -> master (non-fast-forward)
error: failed to push some refs to 'git@github.com:xxx.git'
hint: Updates were rejected because the tip of your current branch is behind
hint: its remote counterpart. Integrate the remote changes (e.g.
hint: 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.

上面说上传一些“refs”错误,在pushing之前请pull,为什么会这样呢?原因是本地代码跟远端的冲突造成的,应该先将远端的代码拉回到本地再上传。

方法1:

git pull origin master

git push -u origin master

方法2:

git pull --rebase
git push --dry-run --verbose origin HEAD:master
git push origin HEAD:master

这样就可以解决冲突问题了。当然,后期开发的时候,如果冲突问题比较多的话,还得手动修改某些冲突文件后才可以上传。推荐使用SourceTree客户端(下载地址:https://www.sourcetreeapp.com/download/)。

好了,项目上传完毕,你可以跟全世界一起讨论你的项目了!  

一步步讲解如何开源自己的项目到GitHub上,Mac机示例的更多相关文章

  1. GitHub Android 最火开源项目Top20 GitHub 上的开源项目不胜枚举,越来越多的开源项目正在迁移到GitHub平台上。基于不要重复造轮子的原则,了解当下比较流行的Android与iOS开源项目很是必要。利用这些项目,有时能够让你达到事半功倍的效果。

    1. ActionBarSherlock(推荐) ActionBarSherlock应该算得上是GitHub上最火的Android开源项目了,它是一个独立的库,通过一个API和主题,开发者就可以很方便 ...

  2. 如何参与开源项目 - 细说 GitHub 上的 PR 全过程

    目录 一.概述 二.为什么要参与开源项目 三.为什么我想介绍如何 PR 四.我想参与开源项目,怎么开始? 4.1.寻找一个合适的开源项目 4.2.寻找贡献点 五.我要提交 PR,怎么上手? 5.1.第 ...

  3. 通过Git Gui Here上传本地项目到GitHub上

    要使用此种方法上传本地项目到GitHub上,前提得是你已安装Git for window工具. Git for window下载地址:http://www.xp510.com/xiazai/Appli ...

  4. Linux下git的使用——将已有项目放到github上

    本地已经有一个项目了,需要将该项目放到github上,怎么操作? 步骤: 本地安装git,有github账号是前提. (1)先在github创建一个空的仓库,并复制链接地址.使用https,以.git ...

  5. 使用git上传项目到GitHub上

    之前的博客有<使用git拉取GitHub上的项目>的文章,那么现在说一下,如何上传项目到GitHub上. 1. Git的.gitignore 文档配置 因为项目中可能有很多的图片还有nod ...

  6. 怎样托管你的项目到github上具体教程

    本文将具体介绍怎样托管你的项目到github上 转载请标明出处: http://blog.csdn.net/lxk_1993/article/details/50441442 本文出自:[lxk_19 ...

  7. Git学习笔记-上传一个新的项目到GitHub上

    前提: 已有Github账号,已在Github上建立了仓库,已在Github上配置了SSH,已上传过一些项目到Github上 目标: 目前有一个新的项目,需要上传到github上 我的做法记录: 1. ...

  8. 28款GitHub最流行的开源机器学习项目,推荐GitHub上10 个开源深度学习框架

    20 个顶尖的 Python 机器学习开源项目 机器学习 2015-06-08 22:44:30 发布 您的评价: 0.0 收藏 1收藏 我们在Github上的贡献者和提交者之中检查了用Python语 ...

  9. 第一次使用Git上传本地项目到github上

    对于程序原来说都听说过GitHub,GitHub有许多开源的的项目和一些前沿的技术.因为自己在刚刚开始使用Git把自己写的一些小dome放到GitHub上遇到许多的坑,这么长时间过去了,想对第一次使用 ...

随机推荐

  1. Anaconda+Tensorflow环境安装与配置(转载)

    Anaconda+Tensorflow环境安装与配置 转载请注明出处:http://www.cnblogs.com/willnote/p/6746499.html Anaconda安装 在清华大学 T ...

  2. JDBC mysql 中文乱码

    中文乱码似乎是程序编写中永恒的一个话题和难点,就比如MySQL存取中文乱码,但我想做任何事情,都要有个思路才行,有了思路才知道如何去解决问题,否则,即使一时解决了问题,但过后不久又碰到同样的问题可能又 ...

  3. Eclipse 工作空间(Workspace)

    Eclipse 工作空间(Workspace) eclipse 工作空间包含以下资源: 项目 文件 文件夹 项目启动时一般可以设置工作空间,你可以将其设置为默认工作空间,下次启动后无需再配置: 工作空 ...

  4. 浅谈DNS

    什么叫域名解析 域名解析是把域名指向网站空间IP,让人们通过注册的域名可以方便地访问到网站一种服务.IP地址是网络上标识站点的数字地址,为了方便记忆,采用域名来代替IP地址标识站点地址.域名解析就是域 ...

  5. Django项目笔记:sessions处理以及复杂对象序列化

    前言:一点题外话 我发现,不更新博客的时候,不是非常忙,就是效率非常低.最近没怎么更新博客,原因是第二种= =.惭愧惭愧. 今天效率出奇的高,一天时间把PassNote后端的接口全部写完了,Djang ...

  6. 第二十二篇:C++中的多态机制

    前言 封装性,继承性,多态性是面向对象语言的三大特性.其中封装,继承好理解,而多态的概念让许多初学者感到困惑.本文将讲述C++中多态的概念以及多态的实现机制. 什么是多态? 多态就是多种形态,就是许多 ...

  7. 【BZOJ4898】[Apio2017]商旅 分数规划+SPFA

    [BZOJ4898][Apio2017]商旅 Description 在广阔的澳大利亚内陆地区长途跋涉后,你孤身一人带着一个背包来到了科巴.你被这个城市发达而美丽的市场所深深吸引,决定定居于此,做一个 ...

  8. EasyNVR智能云终端硬件使用说明(EasyNVR无插件直播服务硬件的具体使用方法)

    问题背景 随着EasyNVR硬件版本(EasyNVR硬件云终端)的发布不少客户选择了EasyNVR云终端作为产品选择,在客户收到EasyNVR云终端的时候肯定都有一个疑问,那就是如何使用手头上的这个小 ...

  9. TFS二次开发-基线文件管理器(2)-TFS登录

    首先需要做一个TFS的登录. 以前的文章是使用的DomainProjectPicker 最新的VS里面使用的是TeamProjectPicker 首先可以在WinForm程序上写一个Button,然后 ...

  10. recursion

    w recursion nexttoken