リポジトリに多数のブランチがある場合: すべてのブランチでファイルを単純に更新するにはどうすればよいでしょうか。
この場合、いくつかの環境変数を指定するのは、bashrc のようなファイルです。過去にマスターブランチのバージョンを更新してから、各ブランチをリベースしました。これには一種の n+1 オーバーヘッドがあり、避けたいと思います。
リポジトリに多数のブランチがある場合: すべてのブランチでファイルを単純に更新するにはどうすればよいでしょうか。
この場合、いくつかの環境変数を指定するのは、bashrc のようなファイルです。過去にマスターブランチのバージョンを更新してから、各ブランチをリベースしました。これには一種の n+1 オーバーヘッドがあり、避けたいと思います。
fork0のcommentを拡張するには、以下を組み合わせる必要があります。
git checkout
別のブランチからの特定のファイル」 ( man ページgit checkout <branch_name> -- <paths>
から)git checkout
すなわち:
#!/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
ブランチからファイルをチェックアウトするため、これはケースに合わせて調整されます。)