今天在分支中使用
git archive -o update.zip NEW_COMMIT_ID_HERE $(git diff --name-only OLD_COMMIT_ID_HERE NEW_COMMIT_ID_HERE)
提取更新包,发现会出现问题,是GIT机制问题还是我的系统问题呢,那位大神了解或者大家有更好的打更新包的方法,求分享
1
zealic 2015-01-16 16:45:12 +08:00
你总得说是什么问题...
|
2
zts1993 2015-01-16 16:51:11 +08:00 via Android
这命令看上去不错
|
3
Delbert 2015-01-16 16:54:16 +08:00
git tag 之后 git push --tags不就可以生成release包了?
|
4
v7 2015-01-16 17:17:27 +08:00
git diff --name-only
得到的文件列表包括修改的文件和删除的文件 如果diff里有删除的文件 会出问题吧? |
5
leafx OP |
6
leafx OP @zealic 提示:
fatal: Could not switch to '/345/': No such file or directory 首先,我发现 我的两个commit 没有打错且2个commit 之间有改动 另外一提,在 master 分支就不会出现这个问题,或者说,在 我当前 dev 分支和主分支分离前是的可以导出的 |
7
leafx OP @zealic 提示:
fatal: Could not switch to '/345/': No such file or directory 首先,我发誓 我的两个commit 没有打错且2个commit 之间有改动 另外一提,在 master 分支就不会出现这个问题,或者说,在 我当前 dev 分支和主分支分离前是的可以导出的 |
8
v7 2015-01-16 18:09:27 +08:00
@leafx 使用 git diff --name-status 给出的文件列表会标示是修改(M)还是删除(D) 简单脚本将删除的去掉就行了
|
9
leafx OP @v7 非常感谢,不过我们这边客户都是大爷一般,更新都懒得更,更别说执行脚本什么的,现在我的目的就是一直增量的去更新就可以了
|
12
v7 2015-01-16 18:35:55 +08:00
git archive -o update.zip NEW_COMMIT_ID_HERE $(git diff --name-only --diff-filter=M OLD_COMMIT_ID_HERE NEW_COMMIT_ID_HERE)
|
13
v7 2015-01-16 18:38:21 +08:00
git archive -o update.zip NEW_COMMIT_ID_HERE $(git diff --name-only --diff-filter=[A,M] OLD_COMMIT_ID_HERE NEW_COMMIT_ID_HERE)
这条有新添加文件也会更新 |