3

我对 git 还很陌生,想知道部署到生产环境时的最佳实践吗?我有一个 master 分支,它总是有最新版本的生产代码。当我开始生产时(现在我手动进行),我输入git pull并获取最新的。但它会尝试合并代码,有时会产生冲突等。有没有办法强制它按原样采用 master 分支中的任何内容?

我尝试阅读很多内容,包括:

从 git 部署到生产的最佳解决方案?

http://posheika.net/?p=136

4

2 回答 2

3

尝试使用git fetch originandgit reset --hard whatever_deployment_branch_you_use而不是拉动。

这将使存储库不会尝试合并代码,因此您将避免服务器上的冲突。

于 2012-08-06T18:09:15.933 回答
0

一种简单而可靠的方法是在master您的所有开发中建立一个分支。development如果您想更准确地反映分支的用途,可以选择将此分支重命名为。

然后,您将拥有另一个production始终反映生产环境中当前运行的内容的分支。每当您想部署到生产环境时,您都可以签出您的production分支并运行git merge master. 您还可以将标签应用到提交 SHA 中master,以便更轻松地查看您部署的时间点。

通过这样做,您可以修复开发箱上的所有合并冲突,并且您可以在生产箱上运行git pull,它会从production.

是上述流程的一种更高级(可能更复杂)的替代方案。如果您有多个开发人员和/或需要更复杂的发布周期,请使用此选项。

于 2012-08-06T18:09:18.653 回答