Jak pobrać plik Git diff i zastosować go do lokalnej gałęzi będącej kopią tego samego repozytorium?

Mam .plik diff stworzony przez współpracownika i chciałby zastosować zmiany wymienione w tym pliku diff do mojej lokalnej gałęzi tego samego repozytorium. Nie mam dostępu do komputera lub gałęzi tego pracownika, który został użyty do wygenerowania tego pliku diff.

Oczywiście mógłbym przechodzić linia po linii i przepisywać wszystko ponownie, ale wolałbym nie narażać systemu na ludzki błąd. Jak najłatwiej to zrobić?

Author: Nakilon, 2012-09-07

1 answers

Skopiuj plik diff do katalogu głównego repozytorium, a następnie wykonaj:

git apply yourcoworkers.diff

Więcej informacji o komendzie apply można znaleźć na stronie podręcznika .

Przy okazji: lepszym sposobem na wymianę całych commitów przez plik jest kombinacja komend git format-patch na nadawcy, a następnie git am na odbiorcy, ponieważ przekazuje również informacje o autorze i wiadomość o zatwierdzeniu.

Jeśli aplikacja łaty nie powiedzie się i jeśli commity, z których wygenerowano diff, są w rzeczywistości w repo możesz użyć -3 opcji apply, która próbuje scalić zmiany.

Działa również z unixem w następujący sposób:

git diff d892531 815a3b5 | git apply
 482
Author: Philipp,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-03-27 06:19:13