zoukankan      html  css  js  c++  java
  • 参与github上开源项目的大致流程和注意事项

    Foreword

      github是一个很火的代码托管服务网站,可能好多人都想参与一两个项目玩一玩学习一下,但由于是纯英文的网站,可能又会止步于想法上没有动手实践。接下来我就介绍一下参与github上开源项目的大致流程,以及注意的地方。当然这里不会详细介绍git的使用,看懂本文还得需要参考其他资料,学习git的相关使用方法。

    大致流程

      一、首先需要在github上注册账号并登陆,这个不多说了

      二、安装git,到github官网下载安装包。

         在这里我用的是github for windows。安装好后会有一个图形界面和一个Git Shell。图形界面还用不了^_^,就以Git Shell介绍下边的内容吧

      三、为账号添加添加ssh key

        clone项目到本地不需要身份认证,但要push修改到github上需要身份验证。push修改时走ssh协议,所以这里需要将我们的公钥添加到github账号中。这里就是ssh实现无密码登陆,或者所谓的公钥登陆,就是采用了私钥确定唯一身份的原理。

        1、生成密钥对。运行Git Shell执行以下命令:

          

          一直按 enter键生成密钥对,最终显示这个画面:

          

          这时在你的家目录下的.ssh目录下生成了id_rsa、id_rsa.pub两个秘钥文件,我的是windows,所以在C:UsersAdministrator.ssh目录下。

        2、添加公钥到github上

          点击github上的设置按钮进入如下界面,然后点击SSH keys

          

          点击 Ad SSH key 打开添加公钥页面:

            

         打开生成的id_rsa.pub文件,复制内容,注意不要变动其内容。然后粘贴到上面的Key输入框里,Title输入框可以随便起个名字。然后点击 Add key即添加完成。

       3、在本地使用刚刚生成的私钥,执行如下命令:

        

      四、fork你想参与的开源项目

         浏览git上的开源项目,然后点击fork,

        

        这时就跳转到了你的账号下,此项目就是你账号下的一个项目了

        

        fork就相当于把别人的项目克隆到自己的账号下一份,以后你的修改都应是提交到你自己github账号下的这个项目中,你是没有权限直接push到原作者账号下的项目中的

      五、clone项目到本地

        1、复制项目clone地址

          注意是clone自己账号下的项目地址,不是原作者的,原作者的你虽然也可以clone到本地,但是你是没push权限的。还要注意这里咱们使用ssh协议,所以要选择ssh类型的地址,如图:

          

        2、clone 到本地,

           在命令行下 输入 git clone 并将复制的地址添加上,然后执行

          

          然后就可以cd进项目目录了

      六、将项目原地址添加为远程仓库

        复制原作者的项目地址,添加为自己的一个远程仓库,用来实时将原项目的修改更新到咱们本地并合并。注意也是复制ssh协议类型的地址哦

          

        使用 git remote -v可以看到我们有两个仓库一个origin,咱们自己的github仓库;一个upstream,原作者的远程仓库。当然也可以不用upstream这个名字。

      七、创建branch,用于添加自己的修改

        这只是一个约定成俗的方式,当然你也可以在master上添加修改,创建新的branch添加自己的修改的好处是,你可以同时添加多个修改,在一个修改还没有被原作者merge时,你可以用master创建新的branch继续你的其它修改。

        在这里我们在新添加的分支上修改:执行如下命令

          git branch test  //创建你test分支

          git checkout test//切换到test分支

        然后就可以添加我们的修改了

      八、将修改push到我们的github上

        由于我们的github上还没有test分支,所以我们得把命令写全了:git push origin test:test

      九、pull request

        你的修改已经push到了你的github下了,但是你要向原作者请求合并到原项目中,如果原作者合并了,也就意味着你是此项目的贡献者了。

        到你的github上点击如下按钮

        

        当然你也可以选择test分支,,然后点击项目右边的创建一个pull request。

        提交完pull request,原作者就会看到你的合并请求,采不采纳就是他的事了^_^。

    注意事项

      1、clone时一定要注意选择ssh协议的链接。否则可能导致clone失败,或者后续push失败

      2、将公钥添加到github后,一定要更新自己当前的私钥(命令:ssh-add ~/.ssh/id_rsa),否则会push失败

  • 相关阅读:
    剑指offer-第五章优化时间和空间效率(从1到n的整数中1出现的次数)
    《需求工程--软件建模与分析》读书笔记05
    《需求工程--软件建模与分析》读书笔记04
    软件需求第二次课后作业
    2018年春季个人阅读计划
    软件需求与分析——大二下需会知识点
    《需求工程--软件建模与分析》读书笔记03
    《需求工程--软件建模与分析》读书笔记02
    《需求工程--软件建模与分析》读书笔记01
    学习过程总结及对教师授课给出的意见和建议
  • 原文地址:https://www.cnblogs.com/metoy/p/4097001.html
Copyright © 2011-2022 走看看