情境:取出Release20240313(8a2e0cd) 與DEV(8a2e0cd )之間有Commit進來那些檔案?
git archive --format=zip --output=20240313.zip HEAD $(git diff-tree -r --name-only --diff-filter=ACMRT 28df24a 8a2e0cd )
GIT 差異檔案打包
差異檔是什麼呢?顧名思義就是跟上次有差異的檔案,意思就是這次才有改動的檔案。那要怎麼樣簡單取得差異檔案呢?來,上指令~~
git archive –format=zip –output=檔案名稱.zip HEAD $(git diff-tree -r –name-only –diff-filter=ACMRT commit_NEW commit_OLD)
diff-filter檔案狀態:
A = Added
C = Copied
M = Modified
R = Renamed
T = Changed
#打包最新整包程式
git archive –format zip -o 檔案名稱.zip HEAD 打包最新整包程式為檔案名稱.zip
#看新舊commit之間的差異檔案有哪些
git diff-tree –no-commit-id –name-only -r commit新 commit舊
git diff-tree -r commit新 commit舊 (顯示commit)
git diff-tree –name-only -r commit新 commit舊 (只顯示名稱)
因此組合起來 打包 + 差異檔案 如下
#commit舊 到 commit新 之間的差異檔案
git archive –format=zip –output=檔案名稱.zip HEAD $(git diff-tree -r –name-only –diff-filter=ACMRT commit新 commit舊)
#最新的和上一次commit的差異檔案
git archive –format=zip –output=檔案名稱.zip HEAD $(git diff-tree -r –name-only –diff-filter=ACMRT HEAD)
沒有留言:
張貼留言