Github上如何给别人贡献代码、fork别人打代码后如何保持和原作者同步的更新

2024-01-12 22:38

本文主要是介绍Github上如何给别人贡献代码、fork别人打代码后如何保持和原作者同步的更新,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

本篇博文仅随前篇博文Github简明教程(入门篇),当然我的独立博客也是采用Github搭建,我所介绍的Github正是我搭建博客过程中一点一点学习的过程,如有错误,还请指出,同样大神们可以绕过。

本篇重点介绍Github上如何给别人贡献代码,通过这个过程,也可以知道如果一个项目托管到Github上,团队成员之间合作的流程,给别人贡献代码,特别是一些开源组织,是件光荣的事

1、搜索你要贡献的代码仓库,在这里我创建了两个帐号,一个主帐号,里面有一个代码仓库mfjc,一个是将要贡献代码的帐号howard5888,搜索代码仓库如下图:

2、按下回车后,即会出现搜索到的库,如下图所示3、点击上图中的仓库链接,进入mfjc仓库,点击右边的fork,fork的含义就是创建mfjc项目的副本作为你自已的项目

 

3、点击上图中的仓库链接,进入mfjc仓库,点击右边的fork,fork的含义就是创建mfjc项目的副本作为你自已的项目

4、fork之后的图如下图所示,从下图可以看出mfjc已经处于自已的github帐号库中,同时也可以发现github还标明了该库的来源,因为只有标明了来源,后面你修改了文件才有提交的路径

5、修改或者增加仓库里的文件,可以选择在线修改,在线修改一般适合修改量较少,这里介绍的是采用Git工具,将代码仓库下载到本地,在本地修改之后再上传上去,相关命令如下:

mkdir tmp #创建tmp目录
cd tmp #切换到tmp目录
git init #创建并初始化git库
#增加远程git仓库
git remote add origin https://github.com/howard5888/mfjc.git
#将远程git库下载到本地
git pull origin master

6、命令执行完后,可以看看从mfjc下载下来的文件,如下图所示

7、假设我们修改了README.md文件,在这个文件里面增加了#test#,接下来要做的就是将修改后的代码库上传上去,命令如下:

#会将当前目录tmp下所有文件都增加到本地库中

git add .

#提交更改

git commit -am 'commit'

#将库上传到github上

git push -u origin master

8、上传完后,再回到github网站上,可以看到README.md文件内容已更改

 

 

9、最后就是将修改提交给主帐号的原作者,由它来决定是否合并你的修改,操作如下,点击Pull request后,跳转到下一个页面,在下一个页面上点击New pull Request

10、接下来的界面上显示了修改后的文件与原作者库里的文件有哪些地方不同

11、然后点击Click to create ....即可跳转到最后一个页面,在最后一个页面上写上自已的提交注释,点击Send Request即可

12、主帐号里的源作者即可收到你的提交请求,如果觉的可以的话,就会将你的请求同主干合并

 

=============================================================================

 

GitHub上fork别人打代码后如何保持和原作者同步的更新

宽为限 紧用功 功夫到 滞塞通

1.进入你的GitHub发起Pull request

这里写图片描述

2.选择compare across forks

这里写图片描述

3.反向操作。base fork改为自己的,head fork改为原作者的

4.点击 create pull request

这里写图片描述

5. 添加comment

这里写图片描述

6.点击create pull request

7.点击Merge pull request

这里写图片描述

8.确定

这里写图片描述

 

 

Github上 fork了别人的代码 本地更新主分支代码
在GitHub上我们会去fork别人的一个项目,这就在自己的Github上生成了一个与原作者项目互不影响的副本,自己可以将自己Github上的这个项目再clone到本地进行修改,修改后再push,只有自己Github上的项目会发生改变,而原作者项目并不会受影响,避免了原作者项目被污染。但经过一段时间, 有可能作者原来的代码变化很大, 你想接着在他最新的代码上修改, 这时你需要合并原作者的最新代码过来, 让你的项目变成最新的。
1、先克隆项目到本地:
Git clone https://github.com/iakuf/mojo
cd mojo
2、添加原作者项目的 remote 地址, 然后将代码 fetch 过来
git remote add sri https://github.com/kraih/mojo
git fetch sri
‘sri’相当于一个别名
查看本地项目目录: git remote -v
3、合并
git checkout master
git merge sri/master
如果有冲突的话,需要丢掉本地分支:
git reset –hard sri/master
4、这时你的当前本地的项目变成和原作者的主项目一样了,可以把它提交到你的GitHub库
git commit -am ‘更新到原作者的主分支’
git push origin
git push -u origin master -f –强制提交http://blog.csdn.net/u013647382/article/details/53400530

 

 

原文地址 http://blog.csdn.net/zwjlpeng/article/details/16889707

https://blog.csdn.net/GMingZhou/article/details/78790332

这篇关于Github上如何给别人贡献代码、fork别人打代码后如何保持和原作者同步的更新的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/599384

相关文章

Flutter监听当前页面可见与隐藏状态的代码详解

《Flutter监听当前页面可见与隐藏状态的代码详解》文章介绍了如何在Flutter中使用路由观察者来监听应用进入前台或后台状态以及页面的显示和隐藏,并通过代码示例讲解的非常详细,需要的朋友可以参考下... flutter 可以监听 app 进入前台还是后台状态,也可以监听当http://www.cppcn

Python使用PIL库将PNG图片转换为ICO图标的示例代码

《Python使用PIL库将PNG图片转换为ICO图标的示例代码》在软件开发和网站设计中,ICO图标是一种常用的图像格式,特别适用于应用程序图标、网页收藏夹图标等场景,本文将介绍如何使用Python的... 目录引言准备工作代码解析实践操作结果展示结语引言在软件开发和网站设计中,ICO图标是一种常用的图像

Java中有什么工具可以进行代码反编译详解

《Java中有什么工具可以进行代码反编译详解》:本文主要介绍Java中有什么工具可以进行代码反编译的相关资,料,包括JD-GUI、CFR、Procyon、Fernflower、Javap、Byte... 目录1.JD-GUI2.CFR3.Procyon Decompiler4.Fernflower5.Jav

javaScript在表单提交时获取表单数据的示例代码

《javaScript在表单提交时获取表单数据的示例代码》本文介绍了五种在JavaScript中获取表单数据的方法:使用FormData对象、手动提取表单数据、使用querySelector获取单个字... 方法 1:使用 FormData 对象FormData 是一个方便的内置对象,用于获取表单中的键值

Vue ElementUI中Upload组件批量上传的实现代码

《VueElementUI中Upload组件批量上传的实现代码》ElementUI中Upload组件批量上传通过获取upload组件的DOM、文件、上传地址和数据,封装uploadFiles方法,使... ElementUI中Upload组件如何批量上传首先就是upload组件 <el-upl

Java中将异步调用转为同步的五种实现方法

《Java中将异步调用转为同步的五种实现方法》本文介绍了将异步调用转为同步阻塞模式的五种方法:wait/notify、ReentrantLock+Condition、Future、CountDownL... 目录异步与同步的核心区别方法一:使用wait/notify + synchronized代码示例关键

C++使用栈实现括号匹配的代码详解

《C++使用栈实现括号匹配的代码详解》在编程中,括号匹配是一个常见问题,尤其是在处理数学表达式、编译器解析等任务时,栈是一种非常适合处理此类问题的数据结构,能够精确地管理括号的匹配问题,本文将通过C+... 目录引言问题描述代码讲解代码解析栈的状态表示测试总结引言在编程中,括号匹配是一个常见问题,尤其是在

Java调用DeepSeek API的最佳实践及详细代码示例

《Java调用DeepSeekAPI的最佳实践及详细代码示例》:本文主要介绍如何使用Java调用DeepSeekAPI,包括获取API密钥、添加HTTP客户端依赖、创建HTTP请求、处理响应、... 目录1. 获取API密钥2. 添加HTTP客户端依赖3. 创建HTTP请求4. 处理响应5. 错误处理6.

使用 sql-research-assistant进行 SQL 数据库研究的实战指南(代码实现演示)

《使用sql-research-assistant进行SQL数据库研究的实战指南(代码实现演示)》本文介绍了sql-research-assistant工具,该工具基于LangChain框架,集... 目录技术背景介绍核心原理解析代码实现演示安装和配置项目集成LangSmith 配置(可选)启动服务应用场景

Python中顺序结构和循环结构示例代码

《Python中顺序结构和循环结构示例代码》:本文主要介绍Python中的条件语句和循环语句,条件语句用于根据条件执行不同的代码块,循环语句用于重复执行一段代码,文章还详细说明了range函数的使... 目录一、条件语句(1)条件语句的定义(2)条件语句的语法(a)单分支 if(b)双分支 if-else(