我对 git 还很陌生,想知道部署到生产环境时的最佳实践吗?我有一个 master 分支,它总是有最新版本的生产代码。当我开始生产时(现在我手动进行),我输入git pull
并获取最新的。但它会尝试合并代码,有时会产生冲突等。有没有办法强制它按原样采用 master 分支中的任何内容?
我尝试阅读很多内容,包括:
我对 git 还很陌生,想知道部署到生产环境时的最佳实践吗?我有一个 master 分支,它总是有最新版本的生产代码。当我开始生产时(现在我手动进行),我输入git pull
并获取最新的。但它会尝试合并代码,有时会产生冲突等。有没有办法强制它按原样采用 master 分支中的任何内容?
我尝试阅读很多内容,包括:
尝试使用git fetch origin
andgit reset --hard whatever_deployment_branch_you_use
而不是拉动。
这将使存储库不会尝试合并代码,因此您将避免服务器上的冲突。
一种简单而可靠的方法是在master
您的所有开发中建立一个分支。development
如果您想更准确地反映分支的用途,可以选择将此分支重命名为。
然后,您将拥有另一个production
始终反映生产环境中当前运行的内容的分支。每当您想部署到生产环境时,您都可以签出您的production
分支并运行git merge master
. 您还可以将标签应用到提交 SHA 中master
,以便更轻松地查看您部署的时间点。
通过这样做,您可以修复开发箱上的所有合并冲突,并且您可以在生产箱上运行git pull
,它会从production
.
这是上述流程的一种更高级(可能更复杂)的替代方案。如果您有多个开发人员和/或需要更复杂的发布周期,请使用此选项。