我这边做 ios 开发是多分支的( develop 分支、master 分支、其他分支等等);
我这边发版的时候使用“ master 分支”,我希望 master 分支上的“ podfile ”内 pod 的依赖保持不变;
develop 分支会经常修改“ podfile ”文件,但是发版前,总会 develop 分支把合并到 master 分支上,这就导致 master 分支上的“ podfile ”文件就变了;
不知道大家是如何解决这种情况的? 不知道能不能有多个“ podfile ”文件?或者重命名"podfile 文件"
develop 分支上的 podfile 文件里 pod 依赖 和 master 分支上的 podfile 文件里 pod 依赖 是不同的、
1
whileFalse 2018-09-14 17:04:52 +08:00
有一个办法:
1. 在 develop 分支上提交 gitignore,忽略掉 podfile,并将 podfile 从版本控制中删除。将此提交合并至 master。 2. 在 master 分支上回滚这个提交。此回滚提交应只存在于 master,永远不要合并回开发分支。 3. 完成! |
2
whileFalse 2018-09-14 17:06:16 +08:00
但是这样搞有个恶心的小地方,就是你每次从 develop 合代码到 master,都会出现一个 merge。
|
3
amon 2018-09-14 17:10:42 +08:00
如果 pod 里面的文件可以保持不变的话,直接 gitignore 里面把 pod 文件夹写进去。
|
4
finab 2018-09-14 17:13:32 +08:00
develop 和 master 不同?
那分出两个 target 一个 master 用,一个 develop 用 同一个 podfile 中 为不同 target 引用不同的依赖库 例如 target 'master-target' do pod ... end target 'dev-target' do pod ... end 开发时,master 分支用 master target 调试编译 develop 用 develop target 调试编译。 代码都是共享一份, 但是不会影响各自的修改 |
5
finab 2018-09-14 17:17:55 +08:00
分出两个 target
|
6
66450146 2018-09-14 17:30:13 +08:00
有什么特别的区分 Podfile 的原因吗?
|
7
acumen 2018-09-15 17:03:51 +08:00 via iPhone
问题是在 pod install 的时候来区分 release 还是 develop
可以在 podfile 里判断 ruby 的环境变量来达到目的 env PODFILE_TYPE=release pod install 在 master 执行 ,相应的 PODFILE_TYPE=develop 在 开发下执行。 |
8
uhayate 2018-09-16 14:17:15 +08:00 via iPhone
这个问题很简单。我提供一个解决思路,你把 dev 分支特定的改动做一个 stash,切到 dev 就使用这些 stash,提交代码时不动它们
|