2

いくつかのローカル ブランチがあり、しばらくしてこれらのブランチをすべて master にマージした後、ローカル master をすべてのローカル ブランチにマージしたいと考えています。

どうやってやるの?

4

3 に答える 3

2

git には単一のコマンドはありませんが、「すべてのブランチに対して」何かを行う方法は、bash セッションでは次のとおりです。

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

それはマージに使用できます:

for BRANCH in `ls .git/refs/heads`; do if [[ "$BRANCH" != "master" ]] ; then git checkout $BRANCH ; git merge master ; fi ; done

または、ウィリアム回答で提案されているように、ブランチをリセットするには:

for BRANCH in `ls .git/refs/heads`; do if [[ "$BRANCH" != "master" ]] ; then git checkout $BRANCH ; git reset --hard master ; fi ; done
于 2013-02-19T07:40:16.107 に答える
0

ローカル ブランチを削除して再作成できます。これにより、新しいブランチはマスター ブランチのミラーになります。で同じ結果が得られgit checkout branch-name && git reset --hard masterます。

これにより、一部のコミットが削除される可能性があることに注意してください。それを望まない場合 (おそらくこれらのローカル ブランチにリモート ブランチがあるため)、 : を実行する必要がありgit mergeますgit checkout branch-name && git merge master

于 2013-02-19T06:11:22.380 に答える