How to update a file across all branches in a Git repository

前端 未结 2 1185
無奈伤痛
無奈伤痛 2021-02-06 09:06

In the case that a a repository has a number of branches: How does one simply update a file across all the branches.

In this case it\'s a bashrc like file that specif

2条回答
  •  梦毁少年i
    2021-02-06 09:29

    To extend fork0's comment, you need to combine:

    • "How to iterate through all git branches using bash script"
    • "git checkout specific files from another branch" (git checkout -- , from git checkout man page)

    Ie:

    #!/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
    

    (This is be adapted to your case, since here it always checkout the file from the master branch.)

提交回复
热议问题