`

github 上 Fork 别人的项目后的常用的操作指南  

 
阅读更多
转自:http://www.php-oa.com/2014/10/22/github-operation.html

因为我 Fork 了 Mojo 的项目,这样才学会了如何使用 github. 因为其它一些项目是自己创建的,也就学不会怎么和其它团队合作。 现在给这部分不一样的经验分享给大家。希望有利于大家参与到开源的项目来。
1. 提交自己本地项目的修改到 github 的库中.

如果你自己的项目,或者是其它人的项目, 你 Fork 了以后, 一定是到本地来进行开发和测试。所以当你自己给自己的项目 clone 到本地后, 进行了一系列的修改后, 当你想提交时, 最方便的方式是直接使用 HTTP 的方式进行提交。 但当你提交的时候, 就会发现一直权限出错的提示:
1

error: The requested URL returned error: 403 Forbidden while accessing http://xxx

这时, 你需要修改你的项目目录下的 .git/config 这个 git 的配置文件。给其中的 url 选项中修改如下:
1

url = https://iakuf@github.com/iakuf/mojo

这其实就是给你的 github 的帐号名, 通过 @ 加到 URL 的前半部分, 这样才能成为 HTTP 认证的用户信息来进行接下来的认证. 这样就不用关心 SSH 的 Key 的问题了。
2. 当自己 Fork 后的项目更新后, 提交 ( Pull Requests) 给原作者合并

我原来一直使用 github 但只会提交修改, 后来在陈子的指导下学会了 Pull Requests 到原来的作者。
其实很简单。 在界面上边有个 Pull Requests。

点进去, 然后就可以见到你和原作者项目的差异的代码,上面有个 "Create pull request". 点击后会让你写上本次提交合并“主题”,还有相关提交修改的内容的一些介绍, 这方便原作者理解和了解你的修改,并会考虑是否给你的提交合并到他自己本身的代码。 写完这些信息后, 然后提交过去。 作者的项目就会收到你这个请求了。如果他认为你写的代码没问题,介绍也合理, 就会合并到你的代码到他的主代码中。

3. 更新自己 Fork 的代码项目和原作者的项目进度一致的方法

经过一段时间, 有可能作者原来的代码变化很大, 你想接着在他最新的代码上修改, 这时你需要合并原作者的最新代码过来, 让你的项目变成最新的。这个需要接着在你的本地操作。
假设前提是, 你现在你的代码是克隆下来在本地的。 例如我 Fork 了 sri (Mojo 的作者) 的 Mojo 项目, 我的项目地址是 https://github.com/iakuf/mojo. 我现在克隆这个在我的本地了。

git clone https://github.com/iakuf/mojo
cd mojo

接着, 我只需要添加 sri 项目的地址,也就是主项目的 remote 地址, 我们加入后, 给代码 fetch 过来, 然后进行 merge 的合并操作。


git remote add sri https://github.com/kraih/mojo
git fetch sri
git merge sri/master

这样就能给你的当前本地的项目变成和原作者的主项目一样。 然后你按正常的流程进行修改并提交到你的项目就好了。

git commit -am '更新到原作者的主分支的进度'
git push origin

要接着给修改提交给原作者,请参照第二步。
分享到:
评论

相关推荐

    github 使用指南 官方中文

    1. **仓库(Repository)**:在 GitHub 上,你的项目就是一个仓库,它包含了所有的源代码、版本历史、问题追踪以及项目文档。 2. **分支(Branch)**:仓库中的工作副本,允许你在不影响主分支的情况下进行开发和实验。...

    利用git从github上拉取项目

    本教程将详细介绍如何利用Git从GitHub上拉取项目,以便于你开始或参与开源项目。 首先,我们需要进行**git安装获取**。Git是一款分布式版本控制系统,可以在其官方网站(https://git-scm.com/downloads)上下载适合...

    github漫游指南,详细的介绍github的使用

    **GitHub漫游指南** GitHub,作为全球最大的开源代码托管平台,是开发者们交流、协作与分享代码的重要场所。本指南将深入浅出地介绍GitHub的基本功能及其在软件开发中的应用,帮助你熟练掌握这一强大的工具。 ### ...

    获取github中用户star和fork总数的小脚本

    该脚本是本人写的一个小脚本,只要有对方的用户名可以方便快捷获取该账号在github中的start和fork数,欢迎大家下载;

    给 Fork me on GitHub 换个风格.zip

    给 Fork me on GitHub 换个风格.zip,A fresher "Fork me on GitHub" callout.

    手把手教你怎么从github上到项目到你的eclipse里面

    "从 GitHub 到 Eclipse 的项目导入指南" 作为 IT 行业的大师,我将为您详细解释如何从 GitHub 上获取项目并导入到 Eclipse 中的步骤。 GitHub 项目 URL 复制 首先,您需要登录到您的 GitHub 账号,并找到您想要...

    Git-Github如何删除fork的项目.md

    github

    merge-github-fork

    安装版本1.1.0,无npm test npm install merge-github-fork@1.1.0 -g 或运行npm test最新版本,以确保合并后没有损坏(显然,仅适用于具有通过测试套件的节点项目!) npm install merge-github-fork -g 或者npm ...

    github中一些操作指南

    本指南将详细介绍GitHub的一些关键操作,帮助你更好地理解和运用这个工具。 一、创建GitHub账号 首先,访问GitHub官网(https://github.com)并点击右上角的"Sign Up"按钮,按照提示填写个人信息,创建自己的GitHub...

    EZLippi.github.io, 这是我的个人网站的源码,欢迎fork。.zip

    4. **Fork**:在GitHub上,fork是指将他人的项目复制到自己的GitHub账户下,这样就可以在不干扰原项目的情况下进行修改和开发。如果希望将这些改动合并回原始项目,可以发起Pull Request。 5. **个人网站**:这个...

    GitHub 完全指南:教程、常见问题解决方法和项目示例

    GitHub 完全指南:教程、常见问题解决方法和项目示例GitHub 完全指南:教程、常见问题解决方法和项目示例GitHub 完全指南:教程、常见问题解决方法和项目示例GitHub 完全指南:教程、常见问题解决方法和项目示例...

    github 开源中国项目

    在GitHub上探索开源中国项目,首先需要熟悉GitHub的基本操作,如浏览仓库、查看源码、阅读项目文档、提交问题和拉取请求。以下是一些关键知识点: 1. **搜索技巧**:学会使用GitHub的高级搜索功能,可以根据语言、...

    github上的java项目怎么运行(面向小白)

    github上的java项目怎么运行(面向小白) 作为一名 IT 行业大师,我将从头到尾详细地解释如何运行 GitHub 上的 Java 项目,特别针对小白用户。 下载项目 首先,从 GitHub 下载 Java 项目有两种方法:通过 Git ...

    Github使用指南.doc

    【GitHub使用指南】 GitHub是一个全球知名的代码托管平台,基于Git版本控制系统,允许用户创建和管理项目的源代码。无论是个人还是团队,都可以利用GitHub进行代码的版本控制、协作和分享。对于初学者,以下是一些...

    如何用git将本地项目push到GitHub上?

    如何用git将本地项目push到GitHub上?如何用git将本地项目push到GitHub上?

    github-fork-ribbon-css:仅CSS,与分辨率无关的“在GitHub上派我”功能区

    在GitHub CSS功能区上分叉我 这是CSS的的重新创建,因此与分辨率无关。 与Bower一起使用 您可以使用安装CSS文件。 bower install github-fork-ribbon-css 与npm一起使用 您也可以使用安装CSS文件。 npm install -...

    Github 漫游指南

    ### Github漫游指南知识点梳理 #### 一、引言与背景 - **作者介绍**:Phodal Huang,活跃于微博、知乎、GitHub 和 SegmentFault 的技术爱好者。 - **撰写动机**:作者希望通过分享自己在 GitHub 上的经验,帮助更多...

    gitpop2:在GitHub上找到最受欢迎的fork

    在GitHub 上找到最受欢迎的fork 有关使用ReactJS的重写,请参见 )。 当项目无法维护时,GitPop2可帮助您选择一个分叉。 它使您可以按“星数”,“分叉数”和“最新更新”对分叉进行排序。 该项目实际上以的...

    github个人使用笔记

    1. 完整流程:Github 的项目—>fork 到自己的 Github 网站分支—>clone 到自己的本地版本—>修改后 push 到自己的 Github 网站分支—>将自己 Github 网站分支 pull request 到 Github 的原项目 2. 将原项目的修改...

Global site tag (gtag.js) - Google Analytics