github fork别人的项目到自己仓库并进行贡献

本文详细介绍了在GitHub上为他人项目贡献代码的完整步骤,包括创建仓库、Fork项目、下载到本地、修改文件、提交Pull Request及主账号合并请求。通过实例演示了Git命令行操作,适合开发者参考。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

原文地址,转载请注明出处: https://blog.csdn.net/qq_34021712/article/details/117260462  ©王赛超

作为开发人员,github肯定不少用,上面有很多别人写好的小项目或者知名的开源项目等,本篇重点介绍Github上如何给别人贡献代码,了解一下大概的流程。废话不多说了,开始。

这里创建2个账号,一个是主账号(Clever-Wang),主账号上包含代码仓库 git-demo, 一个是将要贡献代码的帐号 Helloworld-7558

第一步: 主账号上创建一个新的仓库 git-demo。

1.在主账号点击New创建一个新的仓库。
2.仓库创建信息如下:
3.仓库创建好之后如下:

第二步: 贡献账号 Helloworld-7558 Fork项目

1.搜索"Clever-Wang/git-demo"代码仓库
2.进入git-demo仓库,点击右边的fork 将git-demo项目的副本作为你自已的项目。
3.fork之后的图如下图所示,git-demo已经处于自已的github帐号库中,同时也可以发现github还使用 forked from 标明了该库的来源。

代码fork到自己仓库之后,可以选择在线修改,在线修改一般适合修改量较少,或者采用Git工具,将代码仓库下载到本地,然后使用idea等工具打开本地文件,修改之后再上传上去。

下面直接使用git命令操作,方便一点,真实的情况肯定是使用idea修改代码测试的。

第三步: 将远程fork的项目下载到本地电脑。

# 在桌面创建test目录
mkdir /Users/wangsaichao/Desktop/test

# 切换到test目录
cd /Users/wangsaichao/Desktop/test

# 创建并初始化git库
git init

# 链接到远程git仓库 -t main 使用 main 分支
git remote add origin -t main https://github.com/Helloworld-7558/git-demo.git

# 将远程git库下载到本地
git pull origin main

第四步: 修改README.md文件 并上传到远程fork仓库。

命令执行完后,可以看看从Helloworld-7558/git-demo.git下载下来的文件,如下图所示

现在我们修改了README.md文件,在这个文件里面增加了文本 "我是Helloworld-7558 这是我frok别人的项目, 进行的贡献。",接下来要做的就是将修改后的代码库上传上去,命令如下:

# 将目录下所有文件都增加到本地库中。
git add .

# 提交更改到本地仓库
git commit -am '提交注释'

# 将本地的master分支改为main分支, github为避免联想奴隶制。在持续的外界影响之下,默认分支由master改为main。 
# 但是git工具默认init还是创建的master分支 所以要改成main分支。
git branch -M main

# 将本地修改推到github上
git push -u origin main

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

第五步: 将修改提交给主帐号的原作者,原作者决定是否合并你的修改

点击pull request后,跳转到下一个页面,在下一个页面上点击New pull request, 如下图:

然后点击 New pull request

点击New pull request之后的界面上显示了修改后的文件与原作者库里的文件有哪些地方不同

然后点击Create pull request 即可跳转到最后一个页面,在最后一个页面上写上自已的提交注释,点击Create pull request即可。

主帐号原作者即可收到你的提交请求,如果觉的你写的代码没问题,就会将你的请求同主干合并。

第六步: 主账号(原作者Clever-Wang)合并该PR

在主账号上可以看到 Helloworld-7558 用户提交的PR

下面进行合并操作, 点击要合并的PR进入到下一个页面,拖到最下面,可以看到该分支与基础分支没有冲突,合并可以自动执行。可以点击链接:command line instructions 查看命令行指令,就是自动帮你执行指令而已。

有冲突的话 就需要解决冲突了,这里没有冲突 直接点击 Merge pull request 进行自动合并。

然后确认合并。

合并完成之后,会显示该PR已经Merged

点击Code查看 已经是合并后的代码了。

### 如何在GitHub上进行fork操作 #### 创建Fork 当希望基于他人的项目创建自己的版本而不影响原项目时,可以使用Fork功能。通过点击目标仓库页面右上方的"Fork"按钮来启动此过程[^1]。 ```bash # 假设已经登录到GitHub账户 # 找到想要分叉的目标仓库主页 # 页面顶部右侧有明显的 "Fork" 按钮 ``` #### Clone Fork后的仓库至本地环境 完成上述步骤后,在个人账号下的新复制版库中会看到该项目副本。此时可将其克隆下来以便于本地开发: ```bash git clone https://github.com/YourUsername/ForkedRepo.git cd ForkedRepo ``` #### 设置上游远程地址与之同步更新 为了能够获取原始项目的最新改动,需配置指向源仓库的远端连接,定期拉取最新的变更记录: ```bash # 添加名为 'upstream' 的远程链接指向官方主仓 git remote add upstream https://github.com/OriginalAuthor/OriginalRepo.git # 查看当前已设置的所有远程路径确认无误 git remote -v # 获取来自上级资源库的数据流但不自动合入工作区 git fetch upstream # 将抓取的内容整合进指定分支内(通常为主干master) git merge upstream/master # 或者采用更简洁的一键式同步方式 git pull upstream master ``` #### 提交Pull Request贡献代码改进 经过一系列编辑调整之后准备向初始作者发起请求审核所作变动,则按照如下流程执行: ```bash # 创立新的特性专题分支开展具体任务前 git checkout -b feature-branch-name # 完成编码作业后再切换回默认发布线路上做最终集成测试 git checkout main || git checkout master # 把特色子项里的成果纳入主线之中去 git merge feature-branch-name # 推送到云端服务器等待他人审阅反馈意见 git push origin HEAD ``` 最后一步就是在网页界面上找到对应位置提交PR给维护人员评估是否采纳这些变化了[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值