Pokud máte v Git repozitáři víc vývojových větví, je rozhodně
dobré je průběžně aktualizovat oproti masteru. V řeči Gitu jde o
rebase
. Aktualizované větve se pak mnohem snáze aplikují
(merge) do hlavní vývojové větve. A pokud máte větví opravdu hodně,
aktualizovat každou zvlášť je zdlouhavé. Pomoci může skript
rebaseall.php
, který stačí zavolat někde uvnitř
repozitáře:
<?php
// zjisti seznam větví
exec('git branch', $branches);
// postupně každou rybejzuj proti masteru
foreach ($branches as $branch) {
$branch = trim($branch, "* \r\n");
passthru("git rebase master $branch", $errorCode);
if ($errorCode) {
exit;
}
}
// a nakonec se vrať na master
passthru('git checkout master');
Je možné, že se to dá zapsat i jedním příkazem z bashe, ale já rád skriptuju v PHP a bash nemám.
Komentáře
Jiří Knesl #1
Mělo by fungovat:
for branch in $(git branches); do git rebase master $branch; done; git checkout master
</code>
Jiří Knesl #2
#1 Jiří Knesle, Ještě jinak (nebudu branchovat sám do sebe)
for a in $(git branch | grep -v *); do git rebase master $a; done; git checkout master
Přiznávám, že Git moc neumím, ale mělo by to stačit.
Tento článek byl uzavřen. Už není možné k němu přidávat komentáře.