7
git checkout master
git archive stage | tar -czf archive.tar.gz htdocs
# archives master because it's checked out.
無論當前我在哪裏,我如何歸檔舞臺分支?如何將git存檔爲任意分支?
git checkout master
git archive stage | tar -czf archive.tar.gz htdocs
# archives master because it's checked out.
無論當前我在哪裏,我如何歸檔舞臺分支?如何將git存檔爲任意分支?
git archive創建一個tar歸檔文件,所以你不需要管道輸出tar文件,實際上它沒有達到你期望的效果。您正在創建舞臺分支的tar歸檔文件,並將其管道傳輸到一個普通的tar命令,該命令不使用其標準輸入,而是在獨立於git的工作樹中創建自己的htdocs
歸檔文件。
嘗試:
git archive stage >stage.tar
,或者對於壓縮歸檔:
git archive stage | gzip >stage.tar.gz
如果只想歸檔的htdocs子文件夾,你可以這樣做:
git archive stage:htdocs | gzip >stage-htdocs.tar.gz
,或者包含的文件夾存檔中的名稱:
git archive --prefix=htdocs/ stage:htdocs | gzip >stage-htdocs.tar.gz
或者更簡單地說:
git archive stage htdocs | gzip >stage-htdocs.tar.gz
這最後一個將歸檔與'的htdocs /'提交和前綴每個路徑的根樹(例如'htdocs/rootfile.c','htdocs/sub/file.pl'和'htdocs/htdocs/htdocfile.html')。它應該指定tree-ish階段:htdocs(重新添加前綴),或者你可以使用'git archive stage htdocs'。 – 2010-05-27 05:42:30
@Chris Johnsen:謝謝,這實際上是一個複製和粘貼錯誤;我的意思是它是前一個命令的變體。 – 2010-05-27 06:11:18