将 iOS xcode 个文件提交到 Github 的一般规则

General Rules for commiting iOS xcode files to Github

我最近遇到这样一种情况,当我向 github 提交大约 12 *.h 和 12 *.m 以及一堆图像(资产)时,一位同事基本上大发雷霆。这 12 个文件包括一些 .xib 文件。总的变化(包括图像和 xib xml 代码)达到了大约 985 个变化。 985 行主要是因为 .xib 文件被转换为 xml 代码。同事说checkin太大了。看到这种反应我有点惊讶,因为我不认为包含 24 个文件是一个巨大的签入,或者这真的违反提交到 github 的规则。我一生中的大部分时间都在使用 SVN,并在大型团队中工作,而我从未遇到过这个问题。我在一个 2 人团队和 git 的最近用户中工作。想知道我是否真的需要改变我的承诺方式?有什么建议吗?

-谢谢

我也通读了讨论,他问的肯定是例外,而不是常态,尤其是对于只有两个人的小团队。确实有一些规则要遵守,但它们只是优秀软件工程的常识。我不想超出你的问题范围,因为如果我们开始讨论不同类型分支的所有各种用途,我们可以讨论几天。

我将通过首先讨论您希望通过提交实现什么,然后讨论可以实现该目标的方法,向您的同事提出一个论点。这应该是一次对话——谁知道呢,如果你讨论他的目标,你可能会发现走他的路是有益的。希望您能找到满足所有最重要目标的共同点。当你们达成协议时,你们应该一起制定一些指导方针,并为双方复印一份。当时记住它们似乎很容易,因为它们是合乎逻辑的,但在同一时刻,您也可能会在数周或数月后做出看起来不那么合乎逻辑的妥协。

目标

  1. 开发人员应该能够在没有到达项目中包含构建错误的点的情况下进行提交。这还可以提供更高效、更高效且 stress-free 的开发环境。
  2. 开发人员应该能够确信提交没有错误。任何建立在错误代码上的开发都不可能稳定。这就像盖房子——地基必须坚固,否则建在上面的一切都可能倒塌。
  3. 开发人员应该能够通过阅读提交评论来进行任何提交,并清楚地了解内容和范围。
  4. 开发人员应该能够轻松快速地 select 自信地提交,无需反复试验。

接近

  1. 提交应包含一组内聚的文件和代码。这意味着实施文件应与 header 文件和随附的资产一起提交。否则,当实现正在调用尚未声明的方法时,提交可能会出现构建错误,或者开发人员在查看 header 中未在项目中任何地方使用的声明时会不知所措。您的提交应该讲述您如何朝着最终产品前进的故事。每次提交都会影响您回滚以修复任何错误的效率和准确度。
  2. 不要提交未成功构建的项目。
  3. 测试您的代码,然后重新测试。在存储库中引入新的 objects 时,执行单元测试,从具有最少依赖项的 objects 开始。
  4. 如果您正在做一个有凝聚力的小改动,并且可以讲述开发故事的一部分,那么请继续并提交它。这也将允许您在更大的任务上重新开始,如果某些事情没有成功,您可以重置对工作副本的更改,并且您需要尝试一些完全不同的事情。
  5. 如果您有很多提交,请使用标签。在数百次提交上设置几个标签可以节省大量时间,因为它们允许开发人员快速轻松地 select 提交,开始查明错误的原因。
  6. 对于需要大量工作的功能,也可以使用分支。这允许多个团队同时处理多个功能,而不会踩到彼此的脚趾。对于像您这样的两人团队,如果您希望能够在不同的功能上进行多次提交,这也可能是有益的。对于分支的一些逻辑用例,请查看 Source Tree,并在本地存储库中创建一些具有不同选项的分支。对我来说,它很有指导意义,为很多分支决策提供了一个很好的框架。