Mam 2 lokalne repozytoria git, oba wskazujące na to samo zdalne repozytorium.
Jeśli tak, to w jednym repozytorium git git format-patch 1
mogę zastosować tę łatkę do drugiego repozytorium?
Mam 2 lokalne repozytoria git, oba wskazujące na to samo zdalne repozytorium.
Jeśli tak, to w jednym repozytorium git git format-patch 1
mogę zastosować tę łatkę do drugiego repozytorium?
Odpowiedzi:
Uwaga: możesz najpierw zobaczyć, co zrobi Twoja łatka:
Najpierw statystyki:
git apply --stat a_file.patch
Następnie suchobieg w celu wykrycia błędów:
git apply --check a_file.patch
Na koniec możesz użyć, git am
aby zastosować łatkę jako zatwierdzenie: pozwala podpisać zastosowaną łatkę.
Może to być przydatne do późniejszego wykorzystania.
git am --signoff < a_file.patch
Zobacz przykład w tym artykule :
W swoim dzienniku git zobaczysz, że komunikaty zatwierdzeń zawierają znacznik „Signed-off-by”. Ten tag zostanie odczytany przez Githuba i innych, aby dostarczyć użytecznych informacji o tym, jak zatwierdzenie skończyło się w kodzie.
git am < somepatch.patch
zwraca „fatal: pusta nazwa ident (dla <>) niedozwolona”. Czy ktoś może mi wyjaśnić, dlaczego?
Author
nagłówki w łatce i / lub nie git config user.{name,email}
.
git apply --check
mówi patch does not apply
i git apply -3
mówi repository lacks the necessary blob to fall back on 3-way merge.
W git, ponowne zatwierdzanie zobowiązań jest dziecinnie proste; ale w jaki sposób ludzie nakładają łaty na zaktualizowany kod?
git apply name-of-file.patch
Lub, jeśli kopiesz to w starej szkole:
cd /path/to/other/repository
patch -p1 < 0001-whatever.patch
Najpierw powinieneś zanotować różnicę między git am
igit apply
Kiedy używasz git am
, zwykle chcesz zastosować wiele łatek. Dlatego należy użyć:
git am *.patch
Lub tylko:
git am
Git automatycznie znajdzie łatki i zastosuje je w kolejności ;-)
UPD
Tutaj możesz znaleźć sposób generowania takich poprawek
git apply
.. iw --reverse
:-) 👍
Jeśli chcesz zastosować go jako zatwierdzenie , użyj git am .
Jeśli korzystasz z JetBrains IDE (np. IntelliJ IDEA, Android Studio, PyCharm), możesz przeciągnąć plik poprawki i upuścić go w IDE, a pojawi się okno dialogowe pokazujące zawartość poprawki. Wystarczy, że klikniesz „Zastosuj łatkę”, a zatwierdzenie zostanie utworzone.
Możesz użyć poniżej wspomnianego cmd
git apply fileName.patch