作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我已经编写了一个 git 预提交 Hook ,如果我的 xcode 项目无法编译,它会中止提交。
它通过使用适合我的项目的设置运行 xcodebuild 来实现。如果 xcodebuild 返回非零状态,则您无法提交更改。
这是我正在运行的 xcodebuild 命令:
xcodebuild -project MYPROJ/MYPROJ.xcodeproj -target MYPROJ -configuration Debug clean build CODE_SIGN_IDENTITY='iPhone Developer' >/dev/null 2>&1
我想知道的是,如果我从构建命令中删除“clean”,我会遇到什么问题?我对“干净”的作用有一个模糊的理解:删除以前编译的对象,这将导致以下构建命令从头开始构建整个项目。
但是,对于我们的项目来说,完整的构建需要很长时间,而如果我们不进行清理并且没有进行大量修改,则只需要几秒钟。我想保持我们的预提交 Hook 快速和轻量级,但我担心构建会进入一些奇怪的状态并阻止开发人员能够提交,即使他们的代码很好。
如果我在每次构建前不清理我的预提交 Hook ,我会遇到问题吗?在某些情况下,它是否会错误地报告构建错误,或者如果我不清理,它会不会出现问题?
最佳答案
如果你想确定你的提交编译,你应该在构建之前清理。有时库和资源会变得困惑,这就是 clean 命令存在的原因。您要确保检查该修订版的人可以毫无问题地编译该项目。你不能保证如果你可能有一些以前构建的遗留物,比如旧资源。
想象一下为您的 GUI 使用图像。你编译你的应用程序并且它可以工作。然后你稍微重组你的资源,并以某种方式最终从项目中删除图像。如果您再次运行该应用程序,如果您不清理项目,它仍然可以加载旧图像。所以它对你有用,但对结构干净的人无效。
关于xcode - 如果我在构建之前不清理,我会遇到问题吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17126285/
我是一名优秀的程序员,十分优秀!