You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何将来自fork仓库master分支的Pull Request合并到自有仓库新分支,验证优化后再合并至master

完美实现你的需求的操作步骤

别发愁,不用麻烦原作者重新开分支,咱们自己就能搞定!以下是一步步的具体操作,既能保留原作者的贡献署名,又能安全地把变更拉到自己的分支做后续优化:

1. 把原作者的fork仓库添加为本地远程源

首先在本地仓库里,把原作者的fork仓库设为一个远程源,这样你就能拉取他的变更了:

# 替换成原作者的GitHub昵称和他的仓库URL
git remote add contributor https://github.com/contributor-username/your-repo-fork.git

2. 拉取原作者的变更并创建新分支

接下来拉取他仓库的最新代码,然后基于他的master分支创建一个属于你的新分支(分支名可以自己取,比如和他的功能相关):

# 拉取原作者仓库的所有分支
git fetch contributor
# 创建并切换到新分支,基于原作者的master分支
git checkout -b feature/improve-contribution contributor/master

这一步完成后,你的本地新分支就包含了原作者的所有变更,而且原作者的提交记录和署名会完整保留,完全不影响他的贡献归属。

3. 在新分支上进行后续开发

现在你就可以放心地在这个新分支上操作了:

  • 运行测试验证原作者的变更
  • 添加单元测试、补充文档
  • 修复潜在问题或优化代码
  • 提交你的变更:git add . && git commit -m "补充单元测试和文档"

4. 把新分支推到你的远程仓库

当你完成所有优化后,把这个分支推到你自己的GitHub仓库:

git push origin feature/improve-contribution

这样你的仓库里就有了这个包含原作者贡献和你优化的分支,其他克隆你仓库的用户不会自动获取这些变更,只有当你合并到master后才会同步。

5. 处理原Pull Request并合并到master

  • 回到GitHub上的原PR,给原作者留个友好的评论,比如:"感谢你的贡献!我已经基于你的变更创建了feature/improve-contribution分支,会在完成测试和优化后合并到master,你的署名会完整保留~"
  • 关闭原PR(因为我们已经拿到了所有变更,不需要直接合并到master)
  • 之后你可以通过GitHub的PR功能,把feature/improve-contribution分支合并到你的master分支;或者在本地执行合并后推上去:
git checkout master
git merge feature/improve-contribution
git push origin master

额外小提示

如果原作者之后更新了他的master分支,你可以随时同步到你的feature分支:

git checkout feature/improve-contribution
git pull contributor master

内容的提问来源于stack exchange,提问作者mliebelt

火山引擎 最新活动