多分支开发时, CocoaPods 的 podfile 的管理问题

2018-09-14 16:31:16 +08:00
 shede333

我这边做 ios 开发是多分支的( develop 分支、master 分支、其他分支等等);

我这边发版的时候使用“ master 分支”,我希望 master 分支上的“ podfile ”内 pod 的依赖保持不变;

develop 分支会经常修改“ podfile ”文件,但是发版前,总会 develop 分支把合并到 master 分支上,这就导致 master 分支上的“ podfile ”文件就变了;

不知道大家是如何解决这种情况的? 不知道能不能有多个“ podfile ”文件?或者重命名"podfile 文件"

develop 分支上的 podfile 文件里 pod 依赖 和 master 分支上的 podfile 文件里 pod 依赖 是不同的、

3933 次点击
所在节点    iOS
8 条回复
whileFalse
2018-09-14 17:04:52 +08:00
有一个办法:
1. 在 develop 分支上提交 gitignore,忽略掉 podfile,并将 podfile 从版本控制中删除。将此提交合并至 master。
2. 在 master 分支上回滚这个提交。此回滚提交应只存在于 master,永远不要合并回开发分支。
3. 完成!
whileFalse
2018-09-14 17:06:16 +08:00
但是这样搞有个恶心的小地方,就是你每次从 develop 合代码到 master,都会出现一个 merge。
amon
2018-09-14 17:10:42 +08:00
如果 pod 里面的文件可以保持不变的话,直接 gitignore 里面把 pod 文件夹写进去。
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 调试编译。

代码都是共享一份, 但是不会影响各自的修改
finab
2018-09-14 17:17:55 +08:00
分出两个 target

66450146
2018-09-14 17:30:13 +08:00
有什么特别的区分 Podfile 的原因吗?
acumen
2018-09-15 17:03:51 +08:00
问题是在 pod install 的时候来区分 release 还是 develop

可以在 podfile 里判断 ruby 的环境变量来达到目的


env PODFILE_TYPE=release pod install

在 master 执行 ,相应的 PODFILE_TYPE=develop 在 开发下执行。
uhayate
2018-09-16 14:17:15 +08:00
这个问题很简单。我提供一个解决思路,你把 dev 分支特定的改动做一个 stash,切到 dev 就使用这些 stash,提交代码时不动它们

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/489391

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX