背景資料提高Git的工作流程和優化PHP [Magento的]
我們正在使用SVN到GIT變化,我們的工作主要是在Magento的商店和對每一個項目一個臨時服務器和生產服務器。
這個過程很簡單:首先在本地機器上開發代碼,並在每臺開發機器上安裝項目,然後致力於分期回購並由客戶端和QA進行測試,然後掌握它在何處進行生產並由QA進行最終測試。
我們使用codebase/github存儲庫,部署過程自動使用deployhq,部署從主機到生產由系統管理員使用deployhq完成。
GIT工作流程是在受到互聯網上建議的不同工作流程的影響後衍生出來的,並且使用http://nvie.com/posts/a-successful-git-branching-model/和Proper Way To Use Git/GitHub - PHP System with Dev/Testing/Production servers以及其他一些塊,但也包括我認爲與此模型一致的命令。
GIT工作流
0]設置新的GIT項目局部
- GIT中克隆[path_to_repo] -b [branch_name] [local_dir]
- path_to_repo可以是遠程存儲庫或分支束( repo.bundle)
1]束進口的情況下設置遠程路徑
- git的遠程設置網址起源[path_to_repo]
- path_to_repo是遠程倉庫
2]創建基於分配任務的新特性分支。
- git的結帳-b [branch_name] //創建新的分支並切換到
- 混帳推起源[branch_name]
3]在當地的分支機構本地完成,所有更改推到遠程分支機構定期(批量分批,不能單獨更換) 如果有人想在同一個分支上工作,他需要從相同的遠程分支中取出數據,而不是從主數據中取出數據。
- 日常
- git的結帳[branch_name] //切換到分支
- 混帳拉//拉遠程最新的變化(例如在早晨纔開始工作)
- 做出改變文件
- git add。或git添加[文件夾] //準備要提交的文件或文件/文件夾列表
- git commit //提交更改到本地分支
- git pull //在一天結束時預推同步成爲知道任何衝突
- 混帳推//在一旦在遠程/本地分支機構的變化正在一天
4月底將更改推送到遠程分支和需要的要在臨時服務器審查本地分支將被合併到遠程升級分支中。
- GIT中結帳分期//如果已經存在開關將其
- GIT中合併[remote_branch_to_merge_to_master]
- GIT中推
5],如果客戶確認遠程分支工作正常和準備部署到現場服務器,併入主服務器
- 合併到主服務器
- git的結帳[master_branch_name] //切換到主
- GIT中拉原點/主
- GIT中合併[remote_branch_name_to_merge_to_master] //合併到主
- GIT中推
主到生產是通過進行由系統管理員手動部署。 Q]
Q]是否應該有另一個分支生產,這個分支生產將以主人爲基礎,只取得主人即將生活的變化,即總是最穩定的代碼或者是多餘的。
我們正在尋求減少步驟數量以及工作流程是否與GIT中的最佳實踐一致的建議,包括所提及的命令。