2011-02-07 78 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

如果你想測試機爲好,不要在不同的機器上的「遠程存儲庫」再次描述和步驟將其添加爲遠程使用不同的名稱。