我分叉了一个GitHub项目,实现了一些功能,并在不同的分支中修复了一些错误,为所有这些分支发送了拉取请求。
在等待它们被接纳到上游时,我想使用所有这些功能和修复。为此,我从'upstream / master'创建了一个分支'my-master',并合并了尚未在上游的其他分支的所有更改。我还在README.md中写了一个应用补丁列表。
当我的一个补丁进入上游时,没有理由再保留该分支,所以我将其删除。
它有效,但是,这种方法存在问题:
我需要不时地修改所有未接受的分支,以使它们保持最新状态。之后,我必须重新创建'my-master'分支并再次更新其README.md。
有没有办法加速或自动化?
请不要告诉我尝试git-up
。它很有用,但做了不同的事情。
答案 0 :(得分:1)
一种技术是每次释放时将分支重新分支到上游。您可能希望在旧分支提示处创建标记,或者使用日期版本的分支名称,以便在垃圾回收后不会丢失旧历史记录。
或者你可能想要使用msysgit使用https://github.com/msysgit/msysgit/blob/master/share/msysGit/merging-rebase.sh的合并rebase脚本,这会产生一个连续的开发线(通过第二个父级)的印象,它等同于上面的重新定位过程。
在这两种情况下,如果您的rebase修复(来自冲突)最终会出现问题,您会保留一组您满意的提交。
这包括两个问题: