保持Git分支最新,同时等待它们合并到上游

Ale*_*nko 6 git branch github

我分叉了一个GitHub项目,实现了一些功能,并在不同的分支中修复了一些错误,为所有这些分支发送了拉取请求.

在等待它们被接纳到上游时,我想使用所有这些功能和修复.为此,我从'upstream/master'创建了一个分支'my-master',并合并了尚未在上游的其他分支的所有更改.我还在README.md中写了一个应用补丁列表.

当我的一个补丁进入上游时,没有理由再保留该分支,所以我将其删除.

它有效,但是,这种方法存在问题:

有时,我需要重新调整我所有未接受的分支,以使它们保持最新状态.之后,我必须重新创建'my-master'分支并再次更新其README.md.

有没有办法加速或自动化?

请不要告诉我试试git-up.它很有用,但做的却不一样.

Phi*_*ley 1

一种技术是每次发布时将分支重新定位到上游。您可能需要在旧分支提示处创建一个标记,或者创建一个带有日期版本的分支名称,这样在垃圾回收后就不会丢失旧历史记录。

或者您可能想使用 msysgit 使用的合并变基脚本https://github.com/msysgit/msysgit/blob/master/share/msysGit/merging-rebase.sh,这会产生连续开发线的印象(通过第二个父级)这相当于上面的变基过程。

在这两种情况下,如果您的变基修复(来自冲突)最终出现问题,您都会保留一组您满意的提交。

这涵盖了两个问题:

  1. 上游更新缓慢(相对于您想要/需要的速度)
  2. 上游针对的是不同的“平台”,您始终需要针对您的平台/目的进行“顶部”修复。