git - 在 master 中维护带有补丁的 fork
问题描述
我想维护一个在原始代码之上添加自定义功能的分支。它不是对项目本身的贡献,也不会在上游合并。
我想要达到的目标:
- 分叉的 GitHub 页面应该指向项目的补丁版本,而不是原始版本。
- 我应该能够轻松地合并新的上游代码,同时为我自己的提交保留单独的历史记录。
我目前的计划是upstream/master
将 fork 存储库中的分支设置为vendor
,我自己的master
分支将从中分支出来。每当上游有稳定版本时,我都可以将其拉入并推送到vendor
分支中,而不是重新设置我的master
.
问题:
- 是否有更简单或更清洁的方法来实现相同的结果?
- 我应该通过 GitHub Web 界面分叉然后移动,还是应该按照本答案
master
中的描述在本地创建存储库?
解决方案
分叉只是链接这两个 GitHub 存储库的一种更正式的方式。
您甚至不需要将 upstream/master 命名为“vendor”:您可以直接在该远程分支之上重新设置您自己的 master 分支。
git fetch upstream
git checkout master
git rebase upstream/master
推荐阅读
- javascript - 如何在发布/加载网页之前全局应用 Bootstrap 样式类
- youtube-api - YouTube API:检查其他人的视频是否被货币化
- laravel - 有没有办法在不刷新页面的情况下动态更新我的组件?
- javascript - Photoswipe:无法在边缘浏览器中点击播放
- javascript - 如何将 TypeScript 或 JavaScript 导出到 YAML 列表中
- r - 如何使用 dplyr 有条件地按组更改列中的值?
- corda - 找不到网络参数文件和兼容区域未配置/无法访问
- mongodb - $set 操作的目标数组的最后一个元素
- c# - INotifyPropertyChanged and his null event
- ruby - 如何使用 < 运算符从命令行读取文件并随后读取用户输入?