工作流有各式各樣的用法,但也正因此使得在實際工作中如何上手使用增加了難度。這篇指南通過總覽公司團隊中最常用的幾種 git 工作流讓大家可以上手使用。
在閱讀的過程中請記住,本文中的幾種工作流是作為方案指導而不是條例規定。在展示了各種工作流可能的用法後,你可以從不同的工作流中挑選或揉合出乙個滿足你自己需求的工作流。
如果你的開發團隊成員已經很熟悉 subversion,集中式工作流讓你無需去適應乙個全新流程就可以體驗 git 帶來的收益。這個工作流也可以作為向更 git 風格工作流遷移的友好過渡。
功能分支工作流以集中式工作流為基礎,不同的是為各個新功能分配乙個專門的分支來開發。這樣可以在把新功能整合到正式專案前,用pull requests
的方式討論變更。
gitflow 工作流通過為功能開發、發布準備和維護分配獨立的分支,讓發布迭代過程更流暢。嚴格的分支模型也為大型專案提供了一些非常必要的結構。
是乙個用於託管**的第三方平台,git只是乙個工具,不能做**託管,github是乙個遠端倉庫,通過git工具實現**的託管、拉取、推送等等的操作。碼雲、碼市等等
**:www.github.com
1.建立乙個倉庫
2.通過git進行轉殖
轉殖到本地
如果選中「提交」,那麼是提交到本地倉庫,而不會推送到遠端倉庫。
如果在之前是點了「提交」,那麼就是提交到本地倉庫,並沒有推送到遠端倉庫,所以需要通過這種方式推送到遠端倉庫。
1.集中式工作流案例
★案例一
案例情況: 兩個開發人員,暫稱為小李與小郭,都從github上轉殖了**到本地,之後
小李對登入功能**做了修改並且提交推送到了遠端倉庫,
小郭這時候並不知道小李做了**的更改,假如這時候開發了乙個註冊功能完成之後推送提交到遠端倉庫,結果提交失敗了
原因分析:因為小郭轉殖的**裡面的登入功能還是舊版,並不是小李推送提交修改後的新版功能,所以出現了提交不成功的情況
解決方案:小郭先把新版的**拉取過來覆蓋掉舊版的,再進行註冊功能的推送(因為已經提交到了本地倉庫)
★案例二
案例情況:小李再次拉取**,又更新了自己的登入功能**把v1.2版本提交並推送到了遠端倉庫,之後
小郭閒的沒事幹,去看了看小李的登入功能**,做了一些改進,也更新了登入功能,之後發現提交推送失敗了,所以拉取最新**,結果失敗了
原因分析:因為git並不會去把你修改的**直接覆蓋掉(不然你寫的**做的修改不就白幹了?),所以就產生了衝突
解決方案: 方案一:小郭把自己的**複製乙份放在別的地方,再把小李的拉下來看看有什麼區別,更改以後再推送
方案二:使用git解決 : 將衝突的內容調整好後寫在下方,然後點選儲存,然後標記為已解決,再提交並推送到遠端倉庫。
拉取失敗以後,檢視變更,
git命令列 github工作流總結
檢視 本地分支 git branch 遠端分支 git branch r 推送 git push origin localbranch 拉取 git pull origin remotebranch 等價於git fetch origin remotebranch git merge orign r...
Git工作流概述
基於master分支開發 流程 建立origin master分支 協作開發者a b把origin master 分支clone到本地 協作開發者a b在本地master分支進行開發 a開發完push到遠端master分支 b開發完push到遠端master分支 衝突處理 push時本地 與遠端ma...
Git 工作流簡介
工作流有各式各樣的用法,但也正因此使得在實際工作中如何上手使用增加了難度。這篇指南通過總覽公司團隊中最常用的幾種 git 工作流讓大家可以上手使用。如果你的開發團隊成員已經很熟悉 subversion,集中式工作流讓你無需去適應乙個全新流程就可以體驗 git 帶來的收益。這個工作流也可以作為向更 g...