Na navigaci | Klávesové zkratky

Git: jak na hromadný rebase

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

  1. Jiří Knesl #1

    avatar

    Mělo by fungovat:

    for branch in $(git branches); do git rebase master $branch; done; git checkout master</code>

    před 12 lety | reagoval [2] Jiří Knesl
  2. Jiří Knesl #2

    avatar

    #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.

    před 12 lety

Tento článek byl uzavřen. Už není možné k němu přidávat komentáře.


phpFashion © 2004, 2024 David Grudl | o blogu

Ukázky zdrojových kódů smíte používat s uvedením autora a URL tohoto webu bez dalších omezení.