这是我第一次 fork GitHub 项目,我对 CocoaPods 也不太熟悉,所以请耐心等待。
基本上,我在 GitHub 上分叉了一个项目,在我的项目中使用了以下内容Podfile
:
pod 'REActivityViewController', '~> 1.6.7', :git => 'https://github.com/<username>/REActivityViewController.git'
然后我对前叉做了一些改变,当然当我做了一个pod install
要安装另一个吊舱,它重新安装了原始吊舱REActivityViewController
并删除了我的更改。
我意识到我需要在另一个更改之前将我的更改推送到我的分支pod install
,但是考虑到这是由 CocoaPods 安装的存储库,我怎么知道它正在安装?我查看了REActivityViewController
文件夹安装在Pods
文件夹中没有任何 git 文件。
我是否需要在项目之外处理我的分支,然后使用 CocoaPods 来安装更改?这样的工作流程太繁琐了。
或者我需要对子模块做一些事情吗?
我将用一个例子来回答这个问题。我有一个 TTTAttributedLabel 的分支,其中添加了一些额外的功能:
https://github.com/getaaron/TTTAttributedLabel https://github.com/getaaron/TTTAttributedLabel
为了在 Cocoapods 项目中使用它,我:
- 将我的更改推送到我的 fork
- 配置我的 Podfile 以获取更改和更新
Once you've pushed your changes to your fork, get the SHA of your last commit. You can do this using git rev-parse origin/master | pbcopy
or on the GitHub commits page https://github.com/getaaron/TTTAttributedLabel/commits/master for your project:
然后,您可以在 Podfile 中指定分支上的特定提交,如下所示:
pod 'TTTAttributedLabel', :git => 'https://github.com/getaaron/TTTAttributedLabel.git', :commit => 'd358791c7f593d6ea7d6f8c2cac2cf8fae582bc1'
在那之后,pod update
将从您的分叉更新此特定提交。如果你愿意的话,你也可以制作一个podspec
对于你的分叉,但我发现这种方法更简单,而且我没有足够频繁地进行更改来证明新工作流程的合理性。
我是否需要在项目之外处理我的分支,然后使用 Cocoapods 来安装更改?这使得工作流程变得很麻烦。
你可以这样做,但我通常:
- 编辑我的项目中的代码并确保其有效
- Copy the changes over to my fork, by
- 提交并推送到 GitHub
- 使用新的 SHA 更新 Podfile
- Run
pod update
.
或者我需要对子模块做一些事情吗?
不,你不需要。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)