Git archive:
jak wyeksportować projekt git
Czasami przydatne może okazać się utworzenie pliku archiwum repozytorium Git. Plik archiwum łączy wiele plików w jeden. Plik archiwum można następnie wyodrębnić, aby odtworzyć poszczególne pliki. Git doskonale sprawdza się w zakresie zachowywania historii i współpracy zespołowej. Pliki archiwalne usuwają jednak narzut metadanych Git i mogą być łatwiejsze w dystrybucji do innych użytkowników lub w przechowywaniu w długim okresie.
Do czego służy polecenie git archive?
Polecenie git archive
to narzędzie wiersza poleceń Git, które tworzy plik archiwalny z określonych odniesień Git, takich jak commity, gałęzie lub drzewa. Polecenie git archive
akceptuje dodatkowe argumenty, które zmieniają dane wyjściowe archiwum.
Przykłady eksportowania git
Poniżej znajduje się najbardziej podstawowy przykład polecenia ~git archive~
git archive --format=tar HEAD
To polecenie po uruchomieniu utworzy archiwum z bieżącego odniesienia HEAD
repozytorium. Domyślnie polecenie git archive
przesyła dane wyjściowe archiwum do efemerycznego strumienia stdout. Ten strumień danych wyjściowych trzeba zapisać w stałym pliku. Plik stały można określić za pomocą opcji danych wyjściowych git archive
lub używając przekierowania stdout systemu operacyjnego.
git archive --output=./example_repo_archive.tar --format=tar HEAD
materiały pokrewne
Git — ściągawka
POZNAJ ROZWIĄZANIE
Poznaj środowisko Git z rozwiązaniem Bitbucket Cloud
W następnym przykładzie zostanie utworzone nowe archiwum, które następnie zostanie zapisane w pliku example_repo_archive.tar
. W poprzednich przykładach utworzono nieskompresowane dane wyjściowe archiwum. Świadczy o tym opcja --format=tar
. Opcja formatu akceptuje również popularne skompresowane formaty plików, takie jak zip
i tar.gz
. Przekazanie jednej z tych opcji formatu spowoduje utworzenie skompresowanego archiwum. Jeśli wartość formatu nie zostanie przekazana, zostanie wywnioskowana z dowolnej przekazanej opcji --output
.
git archive --output=./example_repo_archive.tar.gz --format=tar HEAD ./build
Częściowe archiwa repozytorium można utworzyć, przekazując argument ścieżki. W tym przykładzie dodano argument ścieżki ./build
do polecenia archiwizacji. To polecenie spowoduje wyświetlenie archiwum zawierającego pliki zapisane tylko w katalogu ./build
.
Opcje
Poprzednie przykłady obrazują niektóre z najczęściej używanych przypadków użycia polecenia git-archive
. Poniżej przedstawiono rozszerzone opcje, które można przekazać do polecenia git-archive
.
--prefix=<prefix>/
Opcje prefiksu poprzedzają ścieżkę do każdego pliku w archiwum. Może to być przydatne, jeśli zawartość archiwum ma zostać wyodrębniona w unikalnej przestrzeni nazw.
--remote=<repo>
Opcja remote oczekuje zdalnego adresu URL repozytorium. Po wywołaniu z opcją remote git-archive
pobierze zdalne repozytorium i utworzy archiwum z okreśonego odniesienia, jeśli jest ono dostępne zdalnie.
Konfiguracja
Istnieje kilka globalnych wartości konfiguracji Git, które akceptuje ~git archive~. Wartości te można ustawić za pomocą narzędzia git config.
tar.umask
Opcja anulowania maskowania konfiguracji służy do określania ograniczenia bitów na poziomie unix w wyjściowym pliku archiwum.
tar.<format>.command
Ta opcja konfiguracji umożliwia określenie niestandardowego polecenia powłoki, przez które będą uruchamiane dane wyjściowe git-archive
. Przypomina to pominięcie opcji --output
i przekierowanie strumienia stdout z ~git archive~ do niestandardowego narzędzia. Umożliwia to stałe niestandardowe przetwarzanie końcowe archiwum.
tar.<format>.remote
Po włączeniu umożliwia zdalnym klientom pobieranie archiwów o określonym typie formatu
.
Git archive — podsumowanie
Git archive to narzędzie przydające się podczas tworzenia pakietów dystrybucyjnych repozytoriów git. Git archive może skupiać się na określonych odniesieniach repozytorium i pakować tylko zawartość tych odniesień. Git archive ma kilka formatów wyjściowych i może wykorzystywać dodatkową kompresję.
Udostępnij ten artykuł
Następny temat
Zalecane lektury
Dodaj te zasoby do zakładek, aby dowiedzieć się więcej na temat rodzajów zespołów DevOps lub otrzymywać aktualności na temat metodyki DevOps w Atlassian.