git服务器在内部,测试环境是git pull对应的tag版本来测试的,现在代码需要部署到线上,但项目文件太大了,于是准备每次发布时通过tag间的patch文件来发布,但是通过git apply xxx.patch
时有时会失败(于是不得不通过--reject方式来手动处理apply失败的几个文件,几乎所有失败的原因是文件重命名后找不到文件。。),这样就做不到自动发布到线上了,应该如何解决?
git服务器在内部,测试环境是git pull对应的tag版本来测试的,现在代码需要部署到线上,但项目文件太大了,于是准备每次发布时通过tag间的patch文件来发布,但是通过git apply xxx.patch
时有时会失败(于是不得不通过--reject方式来手动处理apply失败的几个文件,几乎所有失败的原因是文件重命名后找不到文件。。),这样就做不到自动发布到线上了,应该如何解决?
7 回答5.3k 阅读
4 回答4k 阅读
5 回答2.8k 阅读
1 回答4.1k 阅读✓ 已解决
3 回答1.9k 阅读✓ 已解决
2 回答2.2k 阅读✓ 已解决
3 回答2.6k 阅读
我猜可能是应该线上环境在 apply patch 前 git 的 HEAD和你生成 patch 用的 tag 不是同一个 commit. 所以有问题.
我觉得线上发布还是简单自然一点 直接 pull 代码然后重启服务.
如果有一些大文件拖慢这个过程的话,应该想办法让大文件有一个更好的去处.