簡體   English   中英

使用1個遠程開發服務器並且沒有本地開發環境的Web開發團隊中的git

[英]git in a web development team using 1 remote dev server and no local dev environment

我在一個擁有一個小團隊的網絡代理商(5名開發人員,2名設計師)工作。 我們主要使用PHP / MySQL Web應用程序,包括Magento,Experession Engine和CakePHP。 我們在OSX(設計師)上使用Windows 7 PC'S(開發人員)和Mac的組合。

我一直在尋找使用github來實現我們的項目,其中包括3個主要目標:

  1. 查看誰編輯了文件並允許人們對文件發表評論。

  2. 為了避免覆蓋彼此的工作,有時多個人可以嘗試同時處理同一個文件。

  3. 允許回滾到以前版本的文件。

這是我們當前的工作流程,我不明白github如何適應這一點。 我意識到我們的工作流程需要改變,但我無法找到一個似乎與之相符的過程:

  1. 我們所有的工作都是在一個專門用於開發的遠程Web服務器上完成的(這里沒有“實時”)。 服務器正在運行Apache,PHP,MySQL等。沒有人在他們的機器上設置本地開發環境,如果可能的話我們不希望這樣。

  2. 我們都有FTP訪問上面提到的開發服務器。 我們通常直接在這個開發服務器上編輯文件,因為它提供了一種非常快速的測試方法(字面上編輯文件,上傳文件並在瀏覽器中運行)。 沖突存在問題,例如,多個人試圖編輯同一個文件,這就是我正在考慮使用git的原因。

  3. 當所有內容都在開發服務器上獲得批准后,通過將其復制到其他服務器來實現。 實時服務器可以在任何地方 - 我們使用我們自己管理的一些服務器,有時我們使用第三方托管公司 - 它有所不同。

在過去的幾天里,我一直在研究這個問題,我發現的所有方法似乎都不可能使用。 有沒有人對實現這一目標的最佳方法有任何見解? 或者我正在研究一些甚至不適用於我試圖解決的問題的東西?

我很感激人們可以提供任何有用的建議。

謝謝。

我們在我工作的公司里有一個非常類似的設置。 我們在開發服務器上實際上有不同的沙箱。 換句話說,我們將repo克隆到不同的沙箱中。 每個開發人員/設計人員都有一個沙箱。 例如,如果有3個開發人員,則將有3個沙箱目錄+ 1個登台目錄

所以,開發人員john獲取/home/john/example.com並可以在john.example.hot(設置vhosts)查看mike獲取/home/mike/example.com在mike.example.com上查看tracy gets / home在tracy.example.com上查看/tracy/example.com並且會有一個額外的臨時目錄。 /home/staging/example.com staging.example.com

暫存將所有更改合並在一起,以便進行測試。 所有這些目錄只能通過內部IPS訪問。

我們使用RSYNC將這些更改部署到生產中。 有關RSYNC的更多信息,請訪問: http ://www.cyberciti.biz/tips/linux-use-rsync-transfer-mirror-files-directories.html

您可以在測試計算機上創建一個git存儲庫,讓您的每個團隊都使用git將他們的更改推送到該存儲庫。 通過這種方式,當他們的更改與其他人的更改發生沖突時,他們會收到通知。

典型的工作流程可能如下所示:

  1. Developer1在他的機器上改變了一些東西。
  2. Designer1更改了他機器上的一些文件
  3. Designer1將這些更改提交到他的本地git存儲庫
  4. Developer1將這些更改提交到他的本地git存儲庫
  5. Developer1將他的更改推送到開發機器。
  6. Designer1將他的更改推送到開發機器
    1. 如果與Developer1的更改發生沖突,現在將提示他們這些沖突是什么,並且必須解決它們。
    2. 然后解決的更改將被推送到開發機器。

這應該解決你的問題1.)和3.)並且將使2.)一個明確的行動,這意味着你的開發人員和設計師將會看到他們所覆蓋的內容。 如果同時在文件的不同部分發生更改,則git可以在不需要進一步交互的情況下保留這兩個更改。

但要注意,這仍然存在問題,沒有人會在不受其他人干擾的情況下測試自己的變化,因為當有人試圖測試某些東西時,這些變化可能隨時改變。 只有1台開發機器,你無法單獨使用git來防止這種情況發生。 由於您的團隊規模很小,而您目前的方法無法解決這個問題,因此對您來說可能沒那么重要。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM