Potrzebuję wyeksportować do archiwum zestaw zatwierdzeń w repozytorium git. Jak to zrobić? Używając svn, mógłbym wybrać zatwierdzenia i eksportować do zip.Git: pobranie określonego zatwierdzenia
Odpowiedz
Aby eksportować repozytorium do pewnego popełnić:
git archive -o export.zip <COMMIT>
. Zastąp numer <COMMIT>
numerem zatwierdzenia, który chcesz wyeksportować.
Aby utworzyć plaster pomiędzy dwoma zobowiązuje:
git diff COMMIT1 COMMIT2 > patch.txt
Chociaż to polecenie wyeksportuje każde zatwierdzenie w repozytorium, dopóki nie zostanie znaleziony określony commit. Potrzebuję wyeksportować tylko określone zatwierdzenia. Tak jak łatka. – user1170896
Odpowiedź skorygowana. – tobiasbayer
ok ... Ale łatka jest przeznaczona do użycia w innym repozytorium. Zawiera znaczniki, aby zrozumieć, gdzie dokonano modyfikacji. Potrzebuję archiwum z tylko zmodyfikowanymi (zaktualizowanymi) plikami między określonymi zatwierdzeniami. – user1170896
Git posiada wygodny sposób tworzenia poprawkę dla każdego popełnić. Chociaż pierwotnie miało to na celu formatowanie poprawek, aby można je było przesłać pocztą e-mail, są one poręcznym sposobem na wyodrębnienie zestawu zmian.
Wymagane polecenie to git format-patch
, a sposób zastosowania tych sformatowanych poprawek z powrotem do git jest zgodny z poleceniem git am
.
Na przykład, jeśli masz dwie rewizje C1 i CN, które chcesz wyeksportować jako zestaw łatek git wystarczy:
git format-patch -k C1..Cn
To stworzy zestaw ponumerowanych łat (w bieżącym katalogu). Każda łatka będzie różnicą zatwierdzenia, a także informacjami o zatwierdzeniu (tytuł, komentarz, autor, data itd.).
To znacznie więcej niż zwykły plik różnic między dwoma zatwierdzeniami.
Myślę, że musi to być 'git format-patch -k C1 ~ ..Cn' zamiast' git format-patch -k C1..Cn', ponieważ lewa strona zakresu jest _wyłączna_, więc musisz podać _parent_ ('~') pierwszego zatwierdzenia. – nh2
masz na myśli różnice eksportowe tych zobowiązań? – CharlesB
Tak, przykro, teraz zdaję sobie sprawę, że nie było to łatwe do zrozumienia. Potrzebuję archiwum z większością plików aktualizacji między 2 zatwierdzeniami. – user1170896