git - 如何跨 Git 存储库中的所有分支更新文件

标签 git git-branch

在一个存储库有多个分支的情况下:如何简单地更新所有分支中的文件。

在这种情况下,它是一个类似 bashrc 的文件,它指定了一些环境变量。我过去更新了 master 分支版本,然后重新定位了每个分支。这有一种 n+1 开销,我想避免。

最佳答案

扩展fork0comment ,你需要结合:

即:

#!/bin/bash
branches=()
eval "$(git for-each-ref --shell --format='branches+=(%(refname))' refs/heads/)"
for branch in "${branches[@]}"; do
  if [[ "${branch}" != "master" ]]; then
    git checkout ${branch}
    git checkout master -- yourFile        
  fi
done

(这会根据您的情况进行调整,因为在这里它总是从 master 分支中 check out 文件。)

关于git - 如何跨 Git 存储库中的所有分支更新文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11940977/

相关文章:

git - 'git pull' 和 'git pull origin master' 有什么区别?

git - $HOME git repo(有选择地)到github?

git - 如何创建一个新分支并将现有代码移动到那里

git - 配置本地分支以推送到特定分支

windows - Vim fugitive 插件无法识别 Windows 上的 git archive

git - 如何让 sbt 从 git repo 编译插件,使用 https 检查它?

git - Git:关于 merge 算法,冲突格式以及与mergetools相互作用的困惑

git - 命令确定当前 HEAD 的上游 ref?

git - 如何 Git diff 两个分支但显示类似于 Git 提交的输出?

git - 如何使用 .gitignore 在 git 中只包含特定文件夹?