• 一步步讲解如何开源自己的项目到GitHub上,Mac机示例


    如果你有自己的优秀项目,想要分享给大家,那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/)。

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

    http://www.cnblogs.com/PaulpauL/ 版权声明:本文为博主原创文章,未经博主允许不得转载。
  • 相关阅读:
    报表中的Excel操作之Aspose.Cells(Excel模板)
    .NET开源组件
    JSON 和 JSONP
    servlet 中getLastModified()
    spring mvc源码-》MultipartReques类-》主要是对文件上传进行的处理,在上传文件时,编码格式为enctype="multipart/form-data"格式,以二进制形式提交数据,提交方式为post方式。
    spring mvc dispatcherservlet处理request流程
    log显示error时的堆栈信息理解和分析
    web项目log日志查看分析->流程理解
    war包结构
    Spring Boot干货系列:(三)启动原理解析
  • 原文地址:https://www.cnblogs.com/PaulpauL/p/5790815.html
Copyright © 2020-2023  润新知