使用Git管理网站开发的建议?

7
我是一名设计师,希望简化网站开发管理的烦恼。我最近才发现 Git ,到目前为止很容易上手。据我了解,可以使用 Git 作为部署更改的方式,使用两个或多个存储库; 其中一个是主存储库。我特别感兴趣的是拥有开发环境、测试环境和生产环境。

所以我有几个问题:

这种使用 Git 的方式可行吗?

哪种方法更好; 将主存储库存储在您的本地机器上,并将更改推送到生产和测试服务器?还是将主存储库存储在您的生产服务器上,并从本地机器拉取以进行更改?

如果可以,如何实现其中任何一种方法?

2个回答

3
这是一个很好的使用Git的想法。从我所见,大多数人都将主分支存储在本地机器上,并推送到生产/测试服务器。
这里有一个很好的使用Git的指南:http://toroid.org/ams/git-website-howto 如果你想要一个测试机器,可以在另一台不同的机器上重复“远程仓库”的步骤,并使用不同的名称将其添加为远程仓库。

3

这里可能有些混淆,我会尝试澄清一下。

一个存储库只是你的代码的副本。你可以有多个代码副本(即多个存储库,例如:一个在开发机器上,一个在测试服务器上,一个在生产服务器上)。所有内容都来自相同的代码,你只需要在不同的提交(一组更改)或不同的分支上拥有每个存储库。

我的建议是按照以下方式工作。在要使用git管理版本的项目的根目录中创建一个包含你的代码的存储库。

git init

现在,您可以创建几个代码分支。其中一个称为“主分支”(通常是人们的命名方式),用于存储生产代码。另一个分支可以称为“开发分支”。因此,当您要开始玩网站时,请在您的存储库的本地副本中切换到开发分支,进行更改,提交到该分支,并将这些更改推送到测试服务器上的存储库(通常设置在“开发分支”中)。您测试代码,然后感觉没问题之后,将开发更改合并到主分支,然后将其推送到生产服务器存储库中(通常在“主分支”中)。
我强烈建议您使用github.com,它可以真正简化事情,并帮助您保持代码的远程安全备份。此外,您不需要创建git服务器才能将更改推送到每个代码副本,而只需更新您的github副本,稍后可以从每个代码版本(即测试和生产)中拉取这些更改。
我在这里解释的所有内容可能会有点混乱,你可以查阅一本书来了解仓库本身与仓库中的分支之间的区别。Git是一个很好的选择,可以让你的代码保持有序。如果你决定使用它,可以看看这个网站http://gitimmersion.com/

谢谢。那个网站看起来很有用,我会去看一下的。只是想澄清一下,您可以将一个分支的更改合并到另一个分支中,而无需将它们再次合并到主分支中吗? - limitlessloop
是的,您可以独立将提交合并到任何其他分支中,无需将主分支作为“中间点”。 - acadavid
很好。在你的例子中,主存储库与整个设置分散开来,即它不用作生产服务器(或现场网站)。这有什么优势?非常感谢。 - limitlessloop
1
@Sevenupcan 我不太明白你的意思。看看这个链接,也许可以澄清一些事情 http://nvie.com/posts/a-successful-git-branching-model/ 如果你在那个链接中找不到答案,请重新表述问题,我会尽力回答 :) - acadavid
这回答了我的问题,而且更多。谢谢! :) - limitlessloop

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接