git - 使用 Git 将更改从 master merge 到所有分支?

标签 git merge branch

我使用 git 来维护我的代码的多个工作副本。这个想法是我可以检查任何分支,构建并运行它以查看分支的功能 x 如何适应代码的当前状态。

Git 的主分支是主干,其他 git 分支是我想尝试的功能或东西。因此,我的典型用法是用最新的修复更新 master,然后将 master merge 到各个分支中,这样每个分支都保持最新。

这个系统对我来说效果很好,除了我必须 checkout 一个分支, merge 主分支并为其他分支冲洗/重复这一事实。鉴于像 git 这样的版本控制系统,我认为这种扩展不是很好,因为随着时间的推移我很容易产生很多分支。

我仍然是一个 git 初学者,所以我怀疑 git 可能已经有了我可能缺少的某种机制。有吗?如果不是,如何向所有分支提交更改,以便它们自己保持最新?

最佳答案

如果

  1. 您要将最新主提交 merge 到的分支未发布并且
  2. 您希望 master 中的所有提交都在其他分支中

然后你可以简单地在 master 更新后将它们 rebase 到 master 上。如果您使用的是 Unix shell,这个小脚本可能会起作用。它将每个分支重新定位到 master。

for BRANCH in `ls .git/refs/heads`; do git rebase master $BRANCH; done

关于git - 使用 Git 将更改从 master merge 到所有分支?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2329716/

相关文章:

Git:如何在不获取的情况下自动将本地分支与远程跟踪 merge

svn - IntelliJ IDEA 中多个 SVN 分支的工作流程

git - 如何使用 Git 跟踪单个文件的版本?

git - merge pull 请求后 git 标签会发生什么

python - 使用 gitpython 从 git 删除文件

macos - 在 OSX 上被 Gitolite 困住了

pandas - 合并 pandas 或 powershell/terminal 中各个子文件夹中的所有 csv 并创建 pandas 数据框

php - 使用 2 个表合并具有相同 id 的 mysql 行

git - 使用 BitBucket 中的 Rest API 获取最新的 10 个分支或所有分支

svn - 在 SVN 中基于没有 trunk 目录的项目创建新分支的最佳实践是什么?