匯出 Git 專案
在本文中,我們將討論在 Git 中匯出專案。我們使用 git archive
命令來建立我們的 Git 倉庫的存檔檔案。
這樣的檔案會將幾個檔案合併為一個。存檔檔案便於在開發人員之間共享或長期儲存。
git archive
命令
它有什麼作用?
我們使用 git archive
命令為指定的 ref 生成存檔檔案,例如提交、分支和樹。該命令可以與其他引數一起使用來改變輸出,如下所示。
Git 匯出示例
讓我們從一個基本的 git archive
命令開始。
$ git archive --format=tar HEAD
如果我們在終端上執行此命令,它將從我們倉庫中的 HEAD
建立一個存檔檔案。存檔將轉到我們的臨時 stdout
流。
我們可以指定一個永久檔案,如下所示。
$ git archive --output=./sample_repo_archive.tar --format=tar HEAD
執行上述命令時,它將為我們的 HEAD
引用建立一個存檔檔案並將其儲存在 sample_repo_archive.tar
檔案中。 --format=tar
選項指示 Git 生成未壓縮的存檔輸出。
我們可以將其他流行的格式,如 zip
和 tar.gz
傳遞給我們的格式選項。如果我們不包含格式選項,Git 會處理指定的 --output
選項。
$ git archive --output=./sample_repo_archive.tar.gz --format=tar HEAD ./Updates
Git 還使歸檔我們倉庫的部分成為可能。上面的命令將為我們倉庫的 /.Updates
目錄中的檔案建立一個存檔檔案。
Git 存檔使用選項
上面的示例為我們提供了最常用的 git archive
選項的基本概念。讓我們探索另一個可以傳遞給命令以進一步改變輸出的選項。
--prefix=<prefix>/
我們使用 prefix
引數來附加我們存檔中所有檔案的路徑,以便於提取。
--remote=<repo>
這是我們想要建立遠端倉庫存檔的場景中的首選命令。執行命令時,我們必須包含遠端倉庫的 URL。
該命令還允許我們指向遠端倉庫中的 ref。
命令配置
git archive
命令遵循以下配置選項。
$ git config --global tar.umask
我們使用 unmask 配置來指定歸檔檔案的 Unix 級許可權位限制。
tar.<format>.command
我們使用上面的選項來建立一個自定義 shell 命令,它將執行我們的 git archive
輸出。這與將 stdout
流傳輸到自定義工具並省略 --output
選項相同。
此操作的基本概念是建立一個固定的定製存檔後處理工具。
tar.<format>.remote
我們可以啟用上面的選項以允許遠端開發人員以指定的 格式
獲取檔案。
簡而言之,我們使用 git archive
命令生成 Git 倉庫的可分發包。我們可以使用此命令定位特定的樹、分支或提交。
它還具有多種輸出格式以增加壓縮。
John is a Git and PowerShell geek. He uses his expertise in the version control system to help businesses manage their source code. According to him, Shell scripting is the number one choice for automating the management of systems.
LinkedIn