如果我合并删除了我的新功能所依赖的代码的提交,会发生什么
What happens if I merge a commit that has removed code my new feature depends on
假设我和爱丽丝克隆了一个存储库并进行了更改。 Alice 提交她的更改并推送到远程。然后我获取该更改并将其与我的合并。假设 Alice 在她最近的提交中删除了一个名为 Vehicle 的 class。轮到我了,我添加了一个名为 Car 的新 class,它扩展了 Vehicle class。现在,当我将她的提交合并到我的提交中时,显然会出现问题。
这是否意味着我必须在合并之前检查代码并对其进行测试? (可能是)。这种情况下的常见做法是什么?
Does this mean that I have to examine the code and test it before merging? (Probably yes).
您应该在合并 之后检查代码。
您 可以 在合并之前检查其他开发人员的分支,
但这不太方便。
What is the common practice in this situation?
合并后,您应该重建项目并重新运行所有测试。
如果您依赖的 class 在合并过程中被删除,
您将在编译语言中遇到编译错误。
在解释语言中,希望您有覆盖受影响代码的测试用例,因此当您重新运行自动化测试时,问题会变得很明显。
当您检测到问题时,您可以检查合并的内容,
并可能与其他开发人员讨论您对更改原因可能有的任何疑问。
希望在一个沟通良好、任务分工良好的团队中,
实现变更不应该有这样的逻辑冲突。
假设我和爱丽丝克隆了一个存储库并进行了更改。 Alice 提交她的更改并推送到远程。然后我获取该更改并将其与我的合并。假设 Alice 在她最近的提交中删除了一个名为 Vehicle 的 class。轮到我了,我添加了一个名为 Car 的新 class,它扩展了 Vehicle class。现在,当我将她的提交合并到我的提交中时,显然会出现问题。 这是否意味着我必须在合并之前检查代码并对其进行测试? (可能是)。这种情况下的常见做法是什么?
Does this mean that I have to examine the code and test it before merging? (Probably yes).
您应该在合并 之后检查代码。 您 可以 在合并之前检查其他开发人员的分支, 但这不太方便。
What is the common practice in this situation?
合并后,您应该重建项目并重新运行所有测试。 如果您依赖的 class 在合并过程中被删除, 您将在编译语言中遇到编译错误。 在解释语言中,希望您有覆盖受影响代码的测试用例,因此当您重新运行自动化测试时,问题会变得很明显。 当您检测到问题时,您可以检查合并的内容, 并可能与其他开发人员讨论您对更改原因可能有的任何疑问。
希望在一个沟通良好、任务分工良好的团队中, 实现变更不应该有这样的逻辑冲突。