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?
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 niegit config user.{name,email}
.git apply --check
mówipatch does not apply
igit apply -3
mówirepository 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?źródło
Lub, jeśli kopiesz to w starej szkole:
źródło
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ć:Lub tylko:
Git automatycznie znajdzie łatki i zastosuje je w kolejności ;-)
UPD
Tutaj możesz znaleźć sposób generowania takich poprawek
źródło
git apply
.. iw--reverse
:-) 👍Jeśli chcesz zastosować go jako zatwierdzenie , użyj git am .
źródło
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.
źródło
Możesz użyć poniżej wspomnianego cmd
źródło