我讀過關於@ nvie的Git branching model和gitflow,我認爲這是一個很好的模型,可用於我目前正在開發的項目(Web應用程序)。在@ nvie的Git分支模型中開發和測試分支?
我是該項目的首席開發人員,並且在本地環境(類似於MAMP)上開發。每當我向客戶展示一些東西時,我都會將我的工作提交給一箇中央的Git主機。從那裏我將它部署到連接到互聯網的服務器。然後我的客戶可以看到更改。
第二個開發者剛剛開始研究該項目。他一次開發單一功能,並在準備好時將其推送到中央Git主機。我在部署之前審查他的工作。
當前所有提交均在master
分支中完成,並部署到單個託管環境。在未來,我希望有一個生產環境(用於實際使用),測試環境(在應用程序發佈前測試新版本的應用程序)和開發環境(我可以展示已完成的功能或仍在進行中)。我認爲生產環境將從master
開始部署,而開發環境將從develop
部署。
我的問題如下:
我經常工作在多個任務在同一時間。當功能的一部分準備就緒後,我有時想在繼續使用該功能之前將其展示給我的客戶。不過,就我的理解而言,一個功能(分支)在完成並計劃發佈時將僅合併到
develop
。我如何向客戶(在開發環境中)顯示正在進行(或尚未計劃發佈)的功能?我應該從哪個分支部署到測試環境?我應該手動選擇那一刻的發佈分支,還是會有專門的測試分支?
Bedankt(謝謝)您的答案!在託管環境中(特徵)分支之間切換的問題是我沒有SSH訪問權限。我使用[Deploy](http://www.deployhq.com)通過FTP執行部署,但我不確定是否可以(輕鬆)在分支之間切換。正因爲如此,我希望有一種解決方案,不需要在多個分支之間切換。 – Jonathan
我只是[分](https://github.com/petervanderdoes/git-ftp)在Github上的工具git-ftp,並做了一些改動,使其與git流很好地工作。該工具通過FTP部署,但只上傳提交之間的差異。 –