Git archive: <br>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

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 ziptar.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ę.

Polecane dla Ciebie

Blog Bitbucket

Ścieżka szkoleniowa DevOps

Dowiedz się więcej o Git

Znajdź więcej przewodników i zasobów Git w tym centrum.