保持的文件結構,像git-archive
Git。如何使用已更改的文件創建歸檔文件?
回答
git archive
需要的文件路徑作爲參數,所以你可以這樣做:
git diff --name-status commit1 commit2 | awk '{ if ($1 != "D") print $2 }' | xargs git archive -o output.zip HEAD
UPDATE
下面的工作,如果你的文件名包括空格:
git diff --name-status commit1 commit2 | awk '{ if ($1 != "D") printf("\"%s\"\n", substr($0,3)) }' | xargs git archive -o output.zip HEAD --
注意:存檔中包含的文件內容與HEAD相同。要使用其他提交的內容,只需在該命令結尾處將HEAD
更改爲您希望的內容即可。
非常感謝 – Ildar
如果某些文件名包含空格,我一直在試圖弄清楚如何使這項工作失敗。你有什麼建議嗎? –
@Neville嘗試'git diff --name-status commit1 commit2 | awk'{if($ 1!=「D」)printf(「\」%s \「\ n」,substr($ 0,3))}'| xargs git archive -o output.zip HEAD - ' –
這是命令歸檔變化之間提交標記發佈和HEAD,還與文件名包含空格,引號,雙引號,任何特殊字符:
git diff --name-only -z --diff-filter=ACMRT release..HEAD | xargs -0 git archive -o update.tar.gz HEAD --
- 1. 使用Git創建已更改文件的存檔
- 2. 通過批處理文件創建GIT修改過的文件的歸檔
- 3. Git - 查看已更改的文件,即使已刪除更改
- 4. 如何使用NetBeans IDE 8.2創建Java歸檔(.jar)文件
- 5. Git:文件「已更改但未更新」
- 6. 只下載已更改的文件git
- 7. 從Filechannels創建Zip歸檔文件
- 8. 如何爲jenkins工件創建.war歸檔文件
- 9. 創建和更改已創建的php文件的一部分
- 10. Git負責所有文件的歸檔
- 11. Git - 更改文件
- 12. 歸檔文件
- 13. 文件歸檔
- 14. 如何創建一個沒有索引的Phar歸檔文件
- 15. 如何從內存中的生成文件創建Java壓縮歸檔文件?
- 16. 如何創建不會展開到子文件夾的tar歸檔文件?
- 17. 使用Git部署更改的文件
- 18. 如何更改sqlite創建etilqs文件的臨時文件夾?
- 19. 如何更改使用UTL_FILE.FOPEN創建的文件的權限?
- 20. 腳本使用powershell和7zip創建歸檔文件
- 21. 使用ZipArchive類在C#中創建歸檔文件夾
- 22. 使用Linux遞歸更改文件名?
- 23. Git歸檔ZIP指定的文件/文件夾
- 24. 創建Word文檔文件
- 25. 如何使用compress/gzip和archive/tar創建壓縮的tar歸檔文件?
- 26. git - 查找分支中已更改的文件,自創建以來
- 27. 創建文件和文件夾遞歸
- 28. 在gradle中使用分發插件創建歸檔文件時更改zip的名稱
- 29. 如何使用Github API在git commit中列出所有已更改的文件
- 30. 如何使用git標籤顯示標籤中已更改的所有文件?
改變了兩個提交之間? –
是的。兩次提交之間 – Ildar
哪個提交的內容應該進入組成存檔的文件? –