Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
让Git分支保持最新,同时等待它们合并到上游_Git_Github_Branch - Fatal编程技术网

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

让Git分支保持最新,同时等待它们合并到上游,git,github,branch,Git,Github,Branch,我完成了一个GitHub项目,实现了一些特性,修复了几个分支中的bug,并为所有分支发送了pull请求 在等待它们进入上游时,我想使用所有这些特性和修复。为此,我从“上游/主”创建了一个分支“我的主”,并合并来自其他尚未处于上游的分支的所有更改。我还在README.md中编写了应用补丁的列表 当我的一个补丁转到上游时,没有理由再保留该分支,所以我将其删除 这是可行的,但这种方法存在一个问题: 有时,我需要重新设置所有未被接受的分支的基础,以使它们保持最新。之后,我必须重新创建“我的主”分支并再次

我完成了一个GitHub项目,实现了一些特性,修复了几个分支中的bug,并为所有分支发送了pull请求

在等待它们进入上游时,我想使用所有这些特性和修复。为此,我从“上游/主”创建了一个分支“我的主”,并合并来自其他尚未处于上游的分支的所有更改。我还在README.md中编写了应用补丁的列表

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

这是可行的,但这种方法存在一个问题:

有时,我需要重新设置所有未被接受的分支的基础,以使它们保持最新。之后,我必须重新创建“我的主”分支并再次更新其README.md

有没有一种方法可以加快或自动化这一过程


请不要建议我尝试
git up
。它很有用,但做的事情不同。

一种技术是在每次发布时将分支重新设置到上游。您可能希望在旧分支提示处创建一个标记,或者创建一个有日期的版本化分支名称,以便在垃圾收集后不会丢失旧的历史记录

或者,您可能希望使用msysgit使用的合并重基脚本,该脚本创建了一个与上述重基过程等效的连续开发线(通过第二个父级)

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

这包括两个问题:

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

  • 我不明白为什么您需要重新设置所有未接受的分支的基础。你能澄清一下吗?这是一个工作流程问题。你为什么要重新创建你的“我的主人”分支?在进行本地分支到分支的合并之前,您是否使您的分支与远程分支保持同步?