关于 GIT 生成更新包的问题 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
git
Pro Git
Atlassian Git Tutorial
Pro Git 简体中文翻译
GitX
leafx
V2EX    git

关于 GIT 生成更新包的问题

  •  
  •   leafx 2015 年 1 月 16 日 5724 次点击
    这是一个创建于 4027 天前的主题,其中的信息可能已经有所发展或是发生改变。

    今天在分支中使用

    git archive -o update.zip NEW_COMMIT_ID_HERE $(git diff --name-only OLD_COMMIT_ID_HERE NEW_COMMIT_ID_HERE)

    提取更新包,发现会出现问题,是GIT机制问题还是我的系统问题呢,那位大神了解或者大家有更好的打更新包的方法,求分享

    18 条回复    2015-01-16 23:54:46 +08:00
    zealic
        1
    zealic  
       2015 年 1 月 16 日
    你总得说是什么问题...
    zts1993
        2
    zts1993  
       2015 年 1 月 16 日 via Android
    这命令看上去不错
    Delbert
        3
    Delbert  
       2015 年 1 月 16 日
    git tag 之后 git push --tags不就可以生成release包了?
    v7
        4
    v7  
       2015 年 1 月 16 日
    git diff --name-only
    得到的文件列表包括修改的文件和删除的文件
    如果diff里有删除的文件 会出问题吧?
    leafx
        5
    leafx  
    OP
       2015 年 1 月 16 日
    @v7 是的 一般这个包是提供给客户的 一般删除的文件不会影响到客户正式站点的访问 重要的特殊提醒下就是了

    兄台有更好的解决方案么
    leafx
        6
    leafx  
    OP
       2015 年 1 月 16 日
    @zealic 提示:

    fatal: Could not switch t '/345/': No such file or directory

    首先,我发现 我的两个commit 没有打错且2个commit 之间有改动

    另外一提,在 master 分支就不会出现这个问题,或者说,在 我当前 dev 分支和主分支分离前是的可以导出的
    leafx
        7
    leafx  
    OP
       2015 年 1 月 16 日
    @zealic 提示:

    fatal: Could not switch to '/345/': No such file or directory

    首先,我发誓 我的两个commit 没有打错且2个commit 之间有改动

    另外一提,在 master 分支就不会出现这个问题,或者说,在 我当前 dev 分支和主分支分离前是的可以导出的
    v7
        8
    v7  
       2015 年 1 月 16 日
    @leafx 使用 git diff --name-status 给出的文件列表会标示是修改(M)还是删除(D) 简单脚本将删除的去掉就行了
    leafx
        9
    leafx  
    OP
       2015 年 1 月 16 日
    @v7 非常感谢,不过我们这边客户都是大爷一般,更新都懒得更,更别说执行脚本什么的,现在我的目的就是一直增量的去更新就可以了
    v7
        10
    v7  
       2015 年 1 月 16 日
    @leafx 这个不是在打包文件提供增量之前做的么? 客户不需要执行脚本
    leafx
        11
    leafx  
    OP
       2015 年 1 月 16 日
    @Delbert 这个包应该是完整的包吧 小弟需要的仅仅一个更新包就好了
    v7
        12
    v7  
       2015 年 1 月 16 日
    git archive -o update.zip NEW_COMMIT_ID_HERE $(git diff --name-only --diff-filter=M OLD_COMMIT_ID_HERE NEW_COMMIT_ID_HERE)
    v7
        13
    v7  
       2015 年 1 月 16 日
    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)
    这条有新添加文件也会更新
    leafx
        14
    leafx  
    OP
       2015 年 1 月 16 日
    @v7 我这还是会出现一些问题,不纠结了,回头到MAC
    leafx
        15
    leafx  
    OP
       2015 年 1 月 16 日
    @v7 我这还是会出现一些问题,不纠结了,回头到MAC上试一试
    v7
        16
    v7  
       2015 年 1 月 16 日
    @leafx ps: 你这样生成不是增量 而是打包了有改动的文件而已 做apply的时候应该做文件的替换
    zealic
        17
    zealic  
       2015 年 1 月 16 日
    @leafx 感觉似乎是中文文件名导致的问题。

    1. 确定你的 git 版本 > 1.8.x
    2. 仓库建立时使用的 git 版本 > 1.8.x

    如果 345 是 commit 的话,先确定你的工作分支包含 NEW_COMMIT and OLD_COMMIT,并确保他们的连通性。
    leafx
        18
    leafx  
    OP
       2015 年 1 月 16 日 via Android
    @zealic 非常感谢,能确定的是 commit是没问题的,明天检查下git版本
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     916 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 25ms UTC 18:54 PVG 02:54 LAX 10:54 JFK 13:54
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86