git archieve
可以用於將庫中代碼打包。
1. 基本用法:
git archive --format tar.gz --output "./output.tar.gz" master
說明:
- 將master分支打包為output.tar.gz
- --format指明打包格式,若不指明此項,則根據--output中的文件名推斷文件格式。所以你也可以將上述命令簡化為:
git archive --output "./output.tar.gz" master
可以使用-l參數獲得支持的文件格式列表。
[@sjs_73_171 gittest]$ git archive -l tar tgz tar.gz zip
--output指明輸出包名
2. 打包不同的分支或commit
如果想打包不同分支,只要使用不同分支名即可。比如我有一個分支名為“testbr”,可以用如下命令將其打包。
git archive --format tar.gz --output "./output.tar.gz" testbr
如果要打包某個commit,只要先使用git log找到相應的commit id, 再使用該commit id打包即可。比如:
git archive --format tar.gz --output "./output.tar.gz" 5ca16ac0d603603
3. 打包某個目錄
如果想打包master下的mydir mydir2目錄,可以用下面命令
git archive --format tar.gz --output "./output.tar.gz" master mydir mydir2
4. 注意
打包建議在代碼庫的根目錄下進行,不然會碰到各種問題。比如,如果在master分支的mydir目錄下執行如下命令:
git archive --output "./output.tar.gz" master
就只會將mydir目錄下的內容打包。
喜歡這篇文章?歡迎打賞~~