2011-02-07 105 views
7

我是一位设计师,希望能够缓解管理我网站开发的痛苦。我只是最近才发现Git,到目前为止它已经很容易找到。根据我的理解,可以使用Git作为使用两个或多个存储库部署这些更改的一种方式;其中之一是主人。我对开发环境,测试环境和生产站点特别感兴趣。使用Git来管理网站开发的建议?

所以,我有几个问题:

是否可以接受以这种方式来使用Git的?

哪个更好;将主存储库存储在本地计算机上并将更改推送到生产和测试服务器?或者,最好将生产服务器上的主服务器存储起来,然后将其拉到本地机器上进行更改?

如果是这样,你会如何完成这两种方法?

回答

3

这里可能会有一些混乱,所以我会试着澄清一些事情。

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

我的建议是像这样工作。你可以在你想用git进行版本化的项目的根目录下创建一个代码库。

git init 

现在,您可以创建几个代码分支。一个将被称为“主人”(这通常是人们如何命名的),它被用来存储生产代码。另一个分支可以称为“开发”。因此,当你要开始使用你的网站时,你需要在你的本地版本库中切换到开发分支,进行更改,提交到该分支,然后将更改推送到测试服务器中的存储库(你会通常保持在“开发”分支)。你测试你的代码,然后当你觉得没问题时,你将开发变更合并到master,然后将它推送到你的生产服务器库(通常在“master”分支)。

我强烈建议您使用github.com,它可以真正简化事情并帮助您保持代码的远程安全副本。此外,您不需要创建git服务器来将更改推送到您的代码的每个副本,但您只需更新github副本,然后可以从每个版本的代码(即测试和生产)中提取更改, 。

我在这里解释的可能会有点混乱,你可以检查一本书来理解存储库本身和存储库中某个分支之间的区别。 Git是保持代码组织的绝佳选择。如果你决定去用它,你可以看看这个网站http://gitimmersion.com/

+0

谢谢。该网站看起来很有用,我会给它一个阅读。为了澄清,您可以将更改从一个分支合并到另一个分支,而无需将它们重新合并到主设备中? – Mindthetic 2011-02-07 15:13:34

3

这样使用Git是一个好主意。从我所看到的情况来看,大多数人在本地机器上都有主人,并推送到生产/测试服务器。

有一个很好的指南,使用Git为此,在这里:http://toroid.org/ams/git-website-howto

如果你想测试机为好,不要在不同的机器上的“远程存储库”再次描述和步骤将其添加为远程使用不同的名称。