我对git很新,并且在部署到生产时想知道最佳实践?我有一个主分支,它总是有最新版本的代码用于生产。当我转到制作时(现在我手动完成),我输入git pull
并获取最新信息。但是它试图合并代码,有时会产生冲突,等等。有没有办法强制它采取主分支中的任何内容?
我尝试了很多,包括:
答案 0 :(得分:3)
尝试使用git fetch origin
和git reset --hard whatever_deployment_branch_you_use
而非拉动。
这将使存储库不会尝试合并代码,因此您将避免服务器上的冲突。
答案 1 :(得分:0)
这样做的一种简单而可靠的方法是使用master
分支进行所有开发。如果您想更准确地反映分支的目的,可以选择将此分支重命名为development
。
然后,您有另一个production
分支,它始终反映生产环境中当前正在运行的内容。每当您要部署到生产环境时,都要检查production
分支并运行git merge master
。您还可以将标记应用于master
中的提交SHA,以便更容易查看您部署的位置。
通过这种方式,您可以在开发框中修复所有合并冲突,并在生产框中运行git pull
,它将从production
获取最新信息。
Here是上述流程的替代者(并且可能更复杂)。如果您有多个开发人员和/或需要更复杂的发布周期,请使用此选项。