我的公司正在评估迁移到新的 SCM 系统,而 git 是正在考虑的最终竞争者之一。在开始之前,我们提出了需要支持的用例列表。
我对 git 没有明确答案的一个用例是在单个“项目”中同时处理多个“变更集”。
在我们当前的 SCM 中,您在“签出”时将文件与“任务”相关联。只要您的更改位于不同的文件中,您就可以根据需要激活任意数量的“任务”。
根据我使用 git 的经验,您不会将更改关联到“变更集”(提交),直到您将它们暂存以进行提交。但是,只有一个暂存区域,因此您一次只能为一个“变更集”执行此操作(并且还不能关联摘要/描述)。
还有“stash”,但它的典型用途是将多个逻辑更改合并到一个构建中以运行测试,因此它们需要同时“活跃”。
在我写这篇文章时,我想到了一个可能的工作流程:在您启动它时为每个“变更集”进行一次提交,并在您进行进一步更改时将其提交 + 'rebase -i'/squash 到适当的提交中。然而,这似乎过于复杂,可能不会受到欢迎。
有没有更好的办法?或者我们为什么应该停止使用这个工作流程的令人信服的理由(需要非常有说服力)?
提前致谢!