在上一篇文章中说明了如何使用远程仓库,接下来,就使用常用远程仓库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钥匙:

  1. $ ssh-keygen -t rsa -C "youremail@example.com"
Rsa是算法名称。常用算法有:rsa, dsa。

执行命令后,在根目录下生成公钥、密钥文件。如果是Linux系统,应该是在用户的home目录下.ssh目录下,如果是在Windows系统,也同样如此:

在GitHub上配置SSH:

登录GitHub后,在个人设置中SSHKeys配置中,添加配置:

copy 公钥文件内容(.pub结尾的文件),粘贴到浏览器相应位置。

3)将远程仓库纳入管理

其实就是添加远程仓库,在你已有的本地仓库目录下执行如下命令:

  1. $ git remote add example git@github.com:yourUserId/example.git

或者使用:

  1. $ git remote add example https://github.com/yourUserId/example

该命令的含义是:在远程添加一个example的仓库,这个远程仓库的url是:https://github.com/yourUserId/example

4)拉取远程文件

如果远程仓库中已有文件,就先要将文件拉到本地仓库。如果远程没有文件,就不需要这一步。

  1. $ git pull example
5)将本地文件推到远程仓库
  1. $ vim .gitignore // 编辑 ignore文件
    $ git add yourprojectfiles // 添加已有文件,让git 能够跟踪这些文件
    $ git commit -a -m 'Initial Version' // 提交到本地仓库
  1. $ git push example master // 将本地仓库(master)文件 push 到远程仓库(example)
当你第一次使用Git的clone或者push命令连接GitHub时,会得到一个警告:
  1. 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添加到本机的一个信任列表里了:

  1. Warning: Permanently added 'github.com' (RSA) to the list of known hosts.

这个警告只会出现一次,后面的操作就不会有任何警告了。

如果出现了下面错误:

  1. src refspec master does not match any.

说明远程仓库中是有文件的,就需要进行4)操作。

6)可以使用GitHub查看结果了。

把你的Project发布到GitHub上的更多相关文章

  1. composer包(发布到github上)同步到Packagist

    在上一篇文章里面,探讨了如何一步步建立composer包–创建你的一个composer包 创建完成后,我们需要做的就是讲自建的包发布到Packagist上.至于说什么是Packagist,这个就不用我 ...

  2. 将已编写的静态的网页发布到github上

    最近在学习前端框架的过程中,一直想把自己学习中做的demo 发布到github 上去.但是在查看了很多相关资料也没能找到一个比较满意的结果. 无奈之下,只能尝试做用了一种自认为最low 的方式来达到部 ...

  3. 如何通过Git将写好的项目发布到github上

    1.在GitHub上创建新的项目文件 2.创建之后会进入新的页面,看到如下图的内容,将地址记下来 3.打开Git 4.进入项目本地所在目录 5.输入:git init 这个意思是在当前项目的目录中生成 ...

  4. Windows将自己的代码发布到Github上

    1.在GitHub上创建一个repository 2.在自己的电脑上选择工作的文件夹使用Git Bash clone刚刚创建的repository 3.此时本地git应该已经连接了GitHub,如果没 ...

  5. 怎么把项目发布到github上

    方法一:在github上新建一个项目,然后在本地任意个文件夹(最好新建)右键 git bash here   ,再之后 git clone https://github.com/CKTim/BlueT ...

  6. 在github上创建新分支

    在github上创建仓库: Create a new repository on the command line touch README.md git init git add README.md ...

  7. OData.NET已在 GitHub上开源

    OData.NET已在 GitHub上开源 微软最近已将OData .NET所有类库的源代码全部发布在GitHub上. 以下与OData相关的项目目前都已迁移到GitHub上: ODataLib Ed ...

  8. 如何把项目上传到GitHub上

    p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 15.0px Consolas; color: #a5b2b9 } span.Apple-tab-span ...

  9. 微软为何选择在 Github 上开源 .NET 核心?

    本文来自微软开源.NET 的一篇公告 ,文中阐述了微软为何选择在 Github 开源.NET,以及微软对开源和开源社区方面的认识的变迁. 对于.NET来说,今天(2014/11/12)是个大日子! 我 ...

随机推荐

  1. JavaScrict中的断言调试

    今天在看忍者秘籍的时候,看到一个断言方法.查阅了一下资料,原来javascript中的console也包含这个方法.具体用法如下: <script type="text/javascr ...

  2. 探秘Tomcat——启动篇

    tomcat作为一款web服务器本身很复杂,代码量也很大,但是模块化很强,最核心的模块还是连接器Connector和容器Container.具体请看下图: 从图中可以看出 a. 高亮的两块是Conne ...

  3. js晋级篇——前端内存泄漏探讨

    1.IE7/8 DOM对象或者ActiveX对象循环引用导致内存泄漏 循环引用分为两种: 第一种:多个对象循环引用 var a=new Object; var b=new Object; a.r=b; ...

  4. Hibernate —— Entity.hbm.xml

    一.简述 1.对象关系映射文件,用于映射实体类和关系数据库数据表之间的一个 xml 文件. 2.通过 Entity.hbm.xml 映射文件,Hibernate 可以理解持久化类和数据表之间的对应关系 ...

  5. httpModules与Http模块

    httpModules是往当前应用程序添加HttpModule(http模块)的标签.配置节如下 <httpModules> <add name="ModuleName&q ...

  6. .Net 开源项目资源大全

    伯乐在线已在 GitHub 上发起「DotNet 资源大全中文版」的整理.欢迎扩散.欢迎加入. https://github.com/jobbole/awesome-dotnet-cn (注:下面用 ...

  7. int与Integer的爱恨情仇

    int作为java中元老级的数据类型,可谓无处不在,自从jdk5诞生了Integer,从此不在孤单. 为什么要设计Integer呢?它与int有什么区别? 一.Integer是int的包装类型,是引用 ...

  8. Verilog HDL模型的不同抽象级别

    所谓不同的抽象类别,实际上是指同一个物理电路,可以在不同层次上用Verilog语言来描述.如果只从行为功能的角度来描述某一电路模块,就称作行为模块.如果从电路结构的角度来描述该电路模块,就称作结构模块 ...

  9. Runnable和Thread

    1.Runnable是一个接口,当实现该接口时需要复用run方法,在run方法中实现自己的逻辑. 2.Thread是一个类,它其实实现了Runnable方法,也就是说当你通过new 一个Thread得 ...

  10. mybatis入门

    1.什么是MyBatis ?      亲爱的度娘是这样说的: MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation ...