Git工作流跟踪项目具有自己的自定义更改

时间:2014-03-12 09:37:00

标签: git

我一直在尝试使用谷歌搜索/ Stackoverflowing获得一个好的解决方案,但仍然没有找到它。如果有人能指出我正确的方向,那就太棒了。

我使用MantisBT来跟踪问题。对于一些客户,我想对这个项目进行一些更改。

现在我可以下载每个新版本,并手动插入我的更改。但我认为可能会分叉MantisBT,进行更改,并从MantisBT存储库中提取所有更改。

我面临的问题是,当我从上游合并时,我仍然需要手动插入我的更改,因为当我git checkout release-1.2.17(最新的稳定版本)时,它给了我原始的上游代码(从那时起)标签是基于提交的。)

我该怎么办?我想有两个“主”分支,一个完全跟随上游(所以我可以获得正式版本),一个“跟踪”上游,但包含我想要做的任何自定义更改。如果git checkout release-1.2.17会通过我的自定义更改给我正式版本,那就太好了。

道歉,如果这个问题变得更加漫无边际而不是要求......

Git workflow for maintaining an project extension fork? - 建议用于分支的结构,但不告诉我如何从我的自定义分支获取版本1.2.17。

1 个答案:

答案 0 :(得分:1)

  

我想有两个“主”分支,

     
      
  • 完全跟随上游的一个(所以我可以获得官方发布),
  •   

您不需要它:它被称为upstream/master(前提是您添加一个名为“upstream”的git远程并引用原始仓库(您已经分叉的那个)

git fetch upstream
  
      
  • 和一个“跟踪”上游,但包含任何自定义更改
  •   

您可以从所需的标记开始创建一个:

git checkout -b master release-1.2.17

然后,只要您想要从上游包含新的演变,就可以将upstream/master的任何更新合并到该主分支。