在一个存储库有多个分支的情况下:如何简单地更新所有分支中的文件。
在这种情况下,它是一个类似 bashrc 的文件,它指定了一些环境变量。我过去更新了 master 分支版本,然后重新定位了每个分支。这有一种 n+1 开销,我想避免。
最佳答案
- "How to iterate through all git branches using bash script "
- "
git checkout
specific files from another branch "(git checkout <branch_name> -- <paths>
, 来自git checkout
man page )
即:
#!/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/