2015-03-03 46 views
2

所以我在最近幾天處理過Git,我想我已經理解了這個概念..期待一件事:你如何處理主分支作爲生活沒有其他分支影響它的版本?Git master分支作爲實時版本理解

我正在使用遠程存儲庫,我有2個分支:主人開發
現在我已經嘗試了昨天,並用虛擬編輯了索引文件Lorem ipsum text to
您現在正在開發。科!在這些分支之間切換時,我通過它的網址顯示了文本。

現在我想了解如何在這個分支上工作沒有影響實時版本。就好像我正在嘗試新功能一樣,不想讓一些未完成或錯誤的東西顯示出來。我不知道如何做到這一點,但你應該運行2臺服務器嗎?
例如。 live.example.com and dev.example.com。因此,首先創建一個存儲庫,然後在第二個存儲庫中進行操作,然後在那裏工作,直到功能準備好通過git push上線爲止?

編輯:圖片爲我的思維問題

enter image description here

+0

如果你在兩個分支上的文件都在同一個文件中,那麼你在某處出錯了。分支完全相互隔離。爲了對另一個分支產生影響,你必須用'git cherry-pick','git merge'或者類似的東西來做這個解釋。或者我錯了嗎? – Jan 2015-03-03 10:31:32

回答

2

您需要在服務器上的Git倉庫的兩個單獨的副本,以便能夠保持住master版本可見的master.domain.comdevelop.domain.com上的develop版本。

在服務器上設置虛擬主機,將子域指向獨立Git存儲庫所在的正確位置。例如。 master.domain.com的文檔根目錄位於/usr/www/domain.com/master,而develop.domain.com的文檔根目錄位於/usr/www/domain.com/develop。在這種情況下,每個目錄(../domain.com/master../domain.com/develop)中都有相同的Git存儲庫副本(帶有不同的簽出分​​支)。

master目錄是不斷在git checkout masterdevelop目錄是不斷在git checkout develop(或使用任何你想要的開發分支)。

有多種不同的服務器軟件(Apache,Nginx等),每種軟件都有不同的創建虛擬主機的方式,所以我不會在這裏介紹確切的方法。