git - 在等待它们 merge 到上游时保持 Git 分支是最新的

标签 git github branch

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

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

当我的一个补丁上游时,没有理由再保留那个分支,所以我删除了它。

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

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

有什么方法可以加快或自动执行此操作?

请不要建议我尝试 git-up。它很有用,但作用不同。

最佳答案

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

或者您可能想使用 msysgit 使用的 merge rebase 脚本 https://github.com/msysgit/msysgit/blob/master/share/msysGit/merging-rebase.sh ,这给人留下了等同于上述 rebase 过程的连续发展线(通过第二个 parent )的印象。

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

这涉及两个问题:

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

关于git - 在等待它们 merge 到上游时保持 Git 分支是最新的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19455476/

相关文章:

git - 您如何组织多个 git 存储库,以便将它们全部备份在一起?

html - 我的 Gitlab 存储库上的默认页面出现 404 错误

git - 如何配置 Git 在使用 "git pull"时自动从当前分支 pull ?

git - 'git remote show'详解

git - 使用 bash 脚本获取当前分支中的提交数

git - 给定一个 git refname,我可以检测它是散列、标签还是分支?

git - 扩展本地存储库 .git 内容

linux - 使用终端在特定目录中创建文件

Git 推送错误 : Repository not found

mercurial - 了解 Mercurial 分支