我有一個網站目錄版本與git。我爲Twitter Bootstrap,colorbox和lessjs等需要的庫使用子模塊,因爲我不應該跟蹤源代碼,而只會跟蹤我使用的代碼版本。git檔案導出子模塊(git歸檔所有/遞歸)
現在我想部署項目,因此我也需要子模塊代碼。 通過使用git archive
我沒有從子模塊獲得源文件/代碼。
以下三種方式努力實現我想要什麼,但dont't工作:在http://git.661346.n2.nabble.com/Running-git-archive-recursively-over-submodules-td4577012.html
1的方法
#!/bin/sh
export revision="$1"
export GIT_INDEX_FILE=".git/tmpindex"
rm -f "$GIT_INDEX_FILE"
git read-tree $revision
export up="$(pwd)"
read_one_level() {
export GIT_ALTERNATE_OBJECT_DIRECTORIES="$GIT_ALTERNATE_OBJECT_DIRECTORIES":$(
git submodule foreach 'echo "$up/$path/.git/objects"' |
grep -E -v '^(Entering|No submodule mapping found)' |
tr '\n' : |
sed 's/:$//'
)
git submodule foreach '
cd "$up"
subcommit=$(git rev-parse :"$path")
git rm --cached "$path"
git read-tree -i --prefix="$path/" $subcommit
' >/dev/null
}
while git ls-files -s | grep -q ^160000; do
read_one_level
done
git archive --format=tar $(git write-tree)
rm -f "$GIT_INDEX_FILE"
托馬斯·拉斯特這讓我既在Windows上的錯誤,如Linux的沒有找到任何對象文件。
第二個方法 https://github.com/meitar/git-archive-all.sh
抱怨mktemp的Windows上沒有找到。和更正調用git archive
(從git-archive
)不給在焦油子模塊... :(
3方法 https://github.com/Kentzo/git-archive-all
是從我的觀點因爲不是以最新的Python 3.3兼容的過時,但仍不能完全使用2.7,因爲samefile抱怨工作
所以我的問題是現在: 有什麼辦法近來/方法來處理導出/存檔Git項目包括子模塊
?或者我應該檢查這個工作流程的子樹嗎?
在此先感謝
我是Kentzo/git-archive-all的作者。現在是Python 3.3兼容。另一個問題是什麼? – Kentzo 2013-05-13 07:41:33