Na navigaci | Klávesové zkratky

Git: snadný cherry-pick z GitHubu

Pokud vám někdo na GitHubu pošle commit, je vhodné ho před začleněním do hlavní větve ověřit nebo třeba upravit. Jak si snadno commit z GitHubu vyzobnout do svého repozitáře? Používám k tomu skript remotepick.php, který spustím v repozitáři a jako parametr uvedu URL commitu. Což je adresa, na kterou vede například odkaz 363413a na této stránce. Takže spustím:

php remotepick.php https://github.com/hrach/nette/commit/363413a042adff…

A skript vypadá takto:

<?php
$url = @$_SERVER['argv'][1];

if (!preg_match('#github.com/[^/]+/[^/]+/commit/\w+#', $url)) {
	exit("Invalid URL");
}

$tmp = sys_get_temp_dir() . '/tmp.patch';
copy("$url.patch", $tmp);
passthru('git am ' . escapeshellarg($tmp));
unlink($tmp);

Poté se commit objeví v aktuální větvi .

Mohlo by vás zajímat

Komentáře

  1. Fčelda #1

    Ještě jedna možnost existuje, a nemusí se stahovat celý repozitář (má smysl pouze pokud tam je hodně změn):
    curl https://github.com/…63413a.patch | git am

    před 13 lety | reagoval [2] David Grudl
  2. David Grudl #2

    avatar

    #1 Fčeldo, díky za tip, upravil jsem kód podle toho

    před 10 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í.