我已經使用git了很長時間,但有些東西對我來說并不點擊。
作為我正常構建系統的一部分,我需要將特定標簽匯出到臨時源目錄中,我發現這樣做的唯一方法是使用git archive.
具體來說:
/Applications/Xcode.app/Contents/Developer/usr/bin/git archive #{internal_version} --format=zip > #{$temp_source_code_path}/code.zip
這很愚蠢,因為我首先需要壓縮整個東西,然后在構建之前解壓縮它。
實際的 git 存盤庫是本地的,命令是從它運行的。
有沒有更好(更快)的方法來做到這一點?
此致,
坦率
uj5u.com熱心網友回復:
您可以像克隆遠程存盤庫一樣克隆本地存盤庫:
git clone /path/to/your/repo /path/to/build/dir
然后,無論何時需要構建,都可以運行
cd /path/to/build/dir
git pull
# Run build script
這有一個額外的好處,它只會復制更改,而不是歸檔整個存盤庫。
話雖如此,rsync可能是更合適的工具
uj5u.com熱心網友回復:
這里有兩種可能的方法:
- 用
git worktree - 使用和結帳到新位置
GIT_DIR=path/to/.gitGIT_WORKTREE=path/to/checkout
uj5u.com熱心網友回復:
如果您想在不創建中間存檔的情況下從 git 匯出檔案,您可以tar直接通過管道傳輸資料:
git archive master | tar xC /some/path
如果您希望能夠在匯出檔案的目錄中執行 git 操作,請考慮使用git clone或git worktree代替。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/352841.html
標籤:混帐
