我们在本地开发项目,然后将其部署到远程服务器上进行测试。目前,这是通过 git commits/push/pulls 完成的。但问题是,由于缺乏测试,大多数提交都包含错误和/或严重破坏代码。
有没有一种方法可以让我们无需使用 git 提交、某种临时提交或补丁或任何其他机制即可将代码部署到远程服务器上?并且只在重要时才提交。
答案1
你应该总是鼓励经常承诺,而不是阻止它。
您的 git 服务器中应该有多个分支,至少有 dev/staging/production 来处理这种情况。Google '开发工作流程',您会找到几个示例。
最后你应该看看 CI 服务器,比如詹金斯
答案2
利用分支!
例如
创建一个发展您和您的团队通常工作的分支,其中可能包含错误,甚至未完成的代码。
然后创建一个发布从发展分支。现在您可以将代码提交到该分支,以使软件处于稳定状态,以便测试人员可以使用它。当然,不允许再次将开发分支合并到发布分支中。
一旦发布分支中的软件稳定并经过全面测试,就可以合并发布分支到掌握分支,然后返回到发展分支。 之后,只需删除发布分支即可。
遵循此工作流程...
- 这掌握分支将仅包含稳定且经过测试的代码。耶 :)
- 这发布在发布分支的生命周期内,分支不会受到开发人员在开发分支中引入的破坏的影响
- 这发展分支将从稳定发布分支中完成的工作中获益。事实上,您应该尽可能多地将发布分支合并到开发分支中(而不是相反!)。
答案3
Abhishek 这听起来像是人类的问题,不是 git 的问题。你的程序员需要在提交之前测试他们的工作。羞辱在这里是一个很好的工具,与幽默一起使用。大声喊出“谁破坏了构建?”,电子邮件,非正式规则,最后一个破坏构建的人买午餐......你弄清楚在你的商店里什么可行,以养成提交前测试的习惯。