想提取出一次或几次commoin修改过的文件来作为程序的升级包,这样的话就可以直接发给客户覆盖升级,不知道git是否有这样的命令,或者phpstorm是否有这样的操作,各位是如何导出和管理升级包的?
想提取出一次或几次commoin修改过的文件来作为程序的升级包,这样的话就可以直接发给客户覆盖升级,不知道git是否有这样的命令,或者phpstorm是否有这样的操作,各位是如何导出和管理升级包的?
你可以发布某一版本的所有文件:
git archive commit_hash | gzip > package.tar.gz
但是这样并不能用于覆盖升级,因为看不到被删除的信息。
最好从某一版本到另一版本的补丁:
git diff from to | gzip > upgrade.patch.gz
然后用 patch 命令应用补丁:
gzcat upgrade.patch.gz | patch -p1
git diff-tree -r --no-commit-id --name-only 36dae86666aa178b26f15ce2325e199d1498f88b| xargs tar -rf mytarfile.tar
在根目录执行:
git diff-tree -r --no-commit-id --name-only {commitId} | xargs tar -rf mytarfile.tar
5 回答2.9k 阅读
3 回答2.7k 阅读
3 回答1k 阅读
2 回答436 阅读✓ 已解决
481 阅读