如何使得github上fork的repo与origin保持同步

在日常工作中使用github时,特别是在参与开源项目时,我们可能会需要从一个他人创建的Repository中,fork出这个项目到自己的Repository,而他人的Repository是没有给我们开放这个项目的直接维护权限的。

通常我们需要做的,是需要在自己的Repository中对此项目进行代码的增删改,提交到自己的Repository后,再创建一个PR(Pull Request)到他人的Repository。

这里面临的一个问题是,由于不只是我们自己在向这个项目贡献代码,其他人也可以fork,也可以PR,那么当原来的Repository中的代码更新了后(包括自己的PR被merge到原来的Repository),我们怎么才能确保自己Repository的代码也可以同步了呢?

在这之前,我们先看下github上的这篇文章

https://help.github.com/articles/syncing-a-fork/

在看过上述的文章后,再来理解下面的操作就会比较容易了。

以我所参与的nodejs中文翻译计划为例,此处使用TortoiseGit进行解释,步骤非常简单:

原库: https://github.com/nodejscn/node-api-cn

我自己的库:https://github.com/wxqsly/node-api-cn, 是从原库fork的

  • 使用TortoiseGit将自己的库的代码clone一份,并放在文件夹wxqsly下面,即wxqsy/node-api-cn
  • 在文件夹wxqsly中,右键选择node-api-cn,使用TortoiseGit的Git Sync工具

  • 在打开的Git Syncronization对话框中,点击Manage

  • 在点击Manage按钮后弹出的Settings窗口中,选择左侧的Git->Remote,会出现配置Remote的相关信息

将其中的URL配置为原库的URL,

Push URL配置为自己的库URL即可。

这样便能保证在每次下行更新时,是从原库更新并Merge原库中的变化;而在上行提交时,是提交到自己的库,自己再可以根据实际情况提交PR到原库。

时间: 2024-08-04 06:24:11

如何使得github上fork的repo与origin保持同步的相关文章

GitHub上fork一个项目贡献代码以及同步原作者的修改【转】

如何贡献自己的力量 首先你总得有自己的github帐号吧,注册一个,非常简单,只需用户名,邮箱,密码,邮箱只是用来找回密码的,不做验证.因此注册后立即能用!比如我现在新注册一个叫JsLouvre的示范帐号. 然后搜索我的项目——mass Framework   第一个就是,点击进入项目,然后点上方的Fork按钮,这就拷贝一份我的项目的副本作为你自己的项目   创建成功!   接着就是修改代码了,这要在自己发现真的存在漏洞或有什么改进之处才要动手啊!不能想改就改.要通读你要改的那一部分,必要时通读

如何在github上fork一个项目来贡献代码以及同步原作者的修改

如何在github上fork一个项目来贡献代码以及同步原作者的修改 作为一个IT人,通过github进行学习是最快的成长手段.我们可以浏览别人的优秀代码.但只看不动手还是成长得很慢,因此为别人贡献代码才是明智之举.比如我们看下片看,许多大片都是由字幕组免费翻译压制的.为什么他们要这样做呢?因为他们都是聪明的大学生,为了提高听力水平,提高笔译水平才这样干的!中国人都是非常实务的!因此贡献代码,参与开源项目都是有益无害的!好了,让我们开始吧! 如何贡献自己的力量 首先你总得有自己的github帐号吧

Github上fork项目后与原项目保持同步

**步骤** 假设来源为 `https://github.com/_original/_project.git`fork 项目为  `https://github.com/_your/_project.git` 1. 检出自己在github上fork别人的分支到目录下 git clone https://github.com/_your/_project.git 2. 进到 _project 目录下,然后增加远程分支(fork的分支),名为 update_stream(名字任意)到本地 git

Github上fork之后如何保持同步(Windows环境)

我们会去fork别人的一个项目,这就在自己的Github上生成了一个与原作者项目互不影响的副本,自己可以将自己Github上的这个项目再clone到本地进行修改,修改后再push,只有自己Github上的项目会发生改变,而原作者项目并不会受影响,避免了原作者项目被污染.但是如果原作者在不断更新他的项目,如何也让自己Github上的也跟着同步?这里需要借助在windows下安装github出现的一个工具Git Shell,以前一直不知道它的用处,这次体会一下. 1)进入本地项目目录,输入 git

同步GitHub上fork的项目

最近在做“Python练习册,每天一个小程序”,fork了项目并贡献自己写的代码,项目还有其他人在贡献代码,每天都会更新,这就涉及到了自己fork的项目与原项目的同步更新问题. 下面就是我最常用的方法. 首先查看远程仓库信息: $ git remote -v origin https://github.com/renzongxian/python.git (fetch) origin https://github.com/renzongxian/python.git (push) 显示只有ori

同步github上fork出来的分支

1,clone自己的账号里fork库的分支到本地 git clone 地址_branch 2,增加远程原始分支 git remote add upstream 地址_master 3,fetch原始源分支 git fetch upstream 4,合并两个版本的代码 git merge upstream/master 5,把最新的代码提交到iSource自己的账号上 git push origin master

【转】如何在github上fork一个项目来贡献代码以及同步原作者的修改 -- 不错

原文网址:http://www.cnblogs.com/astwish/articles/3548844.html 作为一个IT人,通过github进行学习是最快的成长手段.我们可以浏览别人的优秀代码.但只看不动手还是成长得很慢,因此为别人贡献代码才是明智之举.比如我们看下片看,许多大片都是由字幕组免费翻译压制的.为什么他们要这样做呢?因为他们都是聪明的大学生,为了提高听力水平,提高笔译水平才这样干的!中国人都是非常实务的!因此贡献代码,参与开源项目都是有益无害的!好了,让我们开始吧! 如何贡献

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

因为我 fork 了 Mojo 的项目,这样才学会了如何使用 github. 现在分享一些经验给大家.希望大家也能参与到开源的项目来. 1. 提交自己本地项目的修改到 github 的库中. 如果你自己的项目,你自己 clone 到本地后, 进行了一系列的修改, 然后你想提交, 大多最方便的方式是使用 HTTP 的方式进行提交. 但你提交的时候, 会发现一直提示: error: The requested URL returned error: 403 Forbidden while acces

GitHub 上 Fork、Watch、Star 是什么意思?

fork的意思是从别人的代码库中复制一份到你自己的代码库,与普通的复制不同,fork包含了原有库中的所有提交记录, fork后这个代码库是完全独立的,属于你自己,你可以在自己的库中做任何修改,当然也可以通过Pull Request向原来的库提交合并请求. 顺便说一下Watch和Star: Watch,意思是关注,关注后,代码库中有新的commit你都会收到通知: Star,与watch不同,star相当于收藏,你可以方便地找到你star过的库,但是不会收到关于那个库的任何通知.