版本控制(英語:revision control),是一軟體工程學問
其中較常聽到git、svn
筆者較多遇到使用git,今天就以git延伸介紹
git為分散式版本控制,其延伸出github、gitlab
使用git當然不只版本控制,包括與人協作(撰寫readme)、CI/CD、issue、MR、PR等等
不論是git flow、github flow、gitlab flow,都是著重於各branch的功能與角色,
如master是正式版本、develop是開發環境等,而不是我今天是這個team的master就隨便推master喔XD
各個flow有各種奇奇怪怪的變異型,取決於你和團隊的合作模式
今天開始我會使用github去做版控
首先,有些私人企業不喜歡用github,覺得自家的東西放別人家不放心
我都尊重,github可以當作自己練習flow、放自己作品的工具
當然國內外開源程式碼很多也放在github,同時也有很多人在上面contribute
讀者偶爾也可以去github看看別人的開源Code
私人企業有些會自架gitlab,那又是另一段旅程了
讀者這邊分作幾個
以上,視情況增加
首先,如果還沒註冊,到github.com註冊
創建新Repo並將之前的專案上傳,預設主分支為main,改名為master
這裡從master切出feature/init
(這裡用Github Desktop)
並更新readme,然後commit
然後到github做PR(下拉可以看差異)
通常,PR完會由團隊的人Approval、按下確認,這專案只有我一個所以直接按下Merge pull request囉
PR完有些設定會自動刪除pull的分支(feature/init),如果有需要則要重新從master拉出新分支
master的readme更動囉,這樣就有照著我的flow來運作
而多人合作時並不會因為這樣而原本衝突(Conflict)的就自動不衝突了
但如果有需要時可以先PR其中一個然後各自解衝突(雖然還是很麻煩
看團隊想怎麼解吧,或者是盡量不去動用同一區塊等等
Laravel使用git其實並不困難,除了它有自帶的gitignore之外
團隊也可以自己撰寫Readme,將PHP、Laravel版本等,安裝指令訊息寫入
在團隊開發時快速上手
不論你想用git、gitlab、github flow都可以,前提是先了解各分支功用、PR、MR等
相信版本控制可以帶領你和你的團隊開啟新世界