簡體   English   中英

提取git提交中更改的所有文件

[英]extract all files changed in a git commit

我需要為某人制作補丁(他們不使用git) - 通過提交更改的文件的zip。

我覺得有點像

git archive --format = zip commitguid> myfiles.zip

但這會提取整個事物,而不僅僅是已更改的文件。 有沒有辦法做到這一點? 並且使它變得更復雜 - 有沒有任何方法可以通過多次提交來執行此操作(是的,我應該在進行更改之前進行分支但事后才知道)

編輯

基於下面的@Amber解決方案,我可以在Git Bash的兩個步驟中執行此操作,在Windows中安裝了7Zip的c:\\ data \\ progs。

git diff --name-only a-sha b-sha > tmp.txt
/C/data/progs/7za.exe a myzip.zip @tmp.txt
git diff --name-only <oldsha> <newsha> | zip dest.zip -@

填寫適當的SHAs / refs。 例如,要創建僅包含master分支和feature分支之間更改的文件的zip:

git diff --name-only master feature | zip dest.zip -@

另請參閱git help format-patch 它生成一個提交中所有更改的diff補丁,以及提交作者,日期,消息和一些不錯的差異統計信息。 你可以壓縮並發送它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM