首頁 >後端開發 >php教程 >git-新手入職必備操作流程

git-新手入職必備操作流程

伊谢尔伦
伊谢尔伦原創
2016-12-05 11:46:491506瀏覽

一、背景 
之前一直都是在使用svn進行程式碼版本管理,新公司使用的git,雖說之前在github上使用過幾次,但使用場景太過簡單,與公司多人,多分支的開發場景相比,就算沒有使用過,因此註定要碰壁!雖然git 的使用方法,網上一搜一大推,但是作為新手,最可悲的:所有的使用方法都擺在那裡,但是你就不知道,也不敢隨便使用!畢竟是在實戰。現在總結下來,希望可以幫助到和我一樣的新手,不要像我一樣因為一個小小的使用工具,信心嚴重受到打擊!這裡要感謝公司的同事──志凌,算是我git使用的啟蒙指導老師。

本篇文章主要介紹git管理專案的一個簡單,基本的使用流程,老手請忽略!但對新手來說應該是進入公司必備的操作流程,還是比較重要的。良好的開端是成功的一半。初次的使用,一定程度上會決定著你對這款工具的印象和深入學習的慾望,也是剛進公司時個人信心提升的關鍵時刻,假如你能夠順利上手,就能夠迅速進入工作狀態,但是如果無從下手,那就是能力不強的表現了,後果很可能就是惡性循環。看到這是不是覺得有必要收藏一下,哈哈!

二、git 和svn 
兩者都是優良的版本管理工具。

git是分散式:伺服器和每個開發人員都擁有一個本地的代碼管理倉庫,進行本地的代碼管理;

svn集中式:只有在伺服器上有一個代碼管理倉庫;

最後一句:我感覺git 比svn好用! ,有點規模的公司都在用(我接觸過的)!

其它的具體細節,可以自己去谷歌!這裡不是我講的重點。

三、git的使用(以目前所在公司為例講解) 
1、概括

使用git進行專案管理和開發,一般情況下,會在服務端(origin)創建一個倉庫進行程式碼的管理,倉庫會維護三大塊分支。如下圖

1

master分支:只有一個,作為主分支

dev分支:專案目前版本的開發分支,程式設計師會基於此分支 來切 本機分支,進行開發。

其它版本的分支:專案每個版本,在開發測試完成後,最終的穩定程式碼。每當一個版本的開發測試完成後,都會將目前版本的穩定程式碼合併到master分支。

假如在開發目前版本時,發現dev7.0.0版本線上出現了bug。此時,就可以基於dev7.0.0分支,進行修復,這是維護其它版本分支最大的好處。

2、使用(前提是安裝了git軟體,並且配置了ssh)

設定ssh的好處就是,本地向伺服器push程式碼時就不用總是填入使用者名稱和密碼了!

插一個小曲,本人一直以為AndroidStudio整合了git,就不用下載git了。這是完全錯誤的!必須下載,因為AndroidStudio整合的。只不過是git的可視化實用工具。請大家原諒我的無知! !嘿嘿。

(1)、拉取程式碼

提示:安裝好git後,定位到存放本地專案程式碼的很目錄下,滑鼠右鍵,點選“git Bash”,即可彈出指令框! !

$ git clone

該指令會在本地產生一個目錄,與origin的版本庫同名,目錄下麵包含.git檔(預設是隱藏的),和伺服器上master分支的程式碼(也有可能沒有,因為master分支上一般沒有權限取得);要注意此時是在master分支上的,可以使用$ git branch 指令查看! 但是我們是要切dev分支上的程式碼!

$ git checkout dev

該指令是將本地版本庫(local)切換到dev分支(前提是origin上已存在dev分支),建立local與origin對應分支.此分支可以直接與origin對應分支進行通信。如執行程式碼的上傳(push)和更新(pull)操作. ps(也可以使用$ git checkout -b dev origin/dev指令取代)

$ git pull

該指令將origin/dev分支上的程式碼, pull或更新到local/dev 分支上。如果專案有依賴工程,使用$ git clone 指令下載到本機

$ git checkout – b local

該指令,基於dev分支,建立新分支local,並切換到local分支,一定要建立新分支進行開發,絕對不能基於本機dev分支開發,最後就可以將程式碼匯入開發工具了!此時執行 $ git branch 指令應該可以看到 dev 和local 兩個分支。

(2)、程式碼提交

思考:如何將程式碼提交到伺服器?

下載

分析:如果一切正常,我們目前應該是在基於本地dev分支基礎上創建的local分支上,前面已經說過,本地只有dev分支才能與伺服器dev分支進行通信,執行程式碼的pull和push操作。那我們要做的就是 將 local分支上的程式碼,提交到本地dev分支上,之後切換到dev分支,執行push指令,就ok了! !

提示:定位到專案的根目錄(帶.git的資料夾下),滑鼠右鍵,點擊“git Bash”,彈出命令框! !

$ git status

此命令可以查看當前分支上有哪些文件改動了,建議首先執行一下,查看改動的文件,避免提交不需要提交的文件。如果想恢復改動的文件,執行 $ git checkout — 文件路徑/檔名 。

$git add .

改命令將分支上改動的文件(即工作區改動文件),添加到暫存區

$ git commit -m “修改說明”

將暫存區的文件提交到版本庫(我的理解這個版本庫在這裡應該指的是本地dev分支)

$ git checkout dev

切換到本地dev分支

$ git pull

該命令將origin/dev分支上的程式碼,更新到local/dev 分支上。

$ git checkout local

該指令切換到本地local分支

$ git rebase dev

該指令將 dev分支上的最新程式碼,合併到 本地local分支上。此時很可能會遇到檔案衝突的問題,需要到衝突所在的檔案下手動修改,修改好後,執行 gitadd.執行 git rebase –continue,此時應該可以成功合併。

$ git push origin head:refs/for/dev

此指令將本地local分支上修改的程式碼提交到伺服器上。

四、總結 
以上,就是在公司實際開發中,開發人員所必經的一套簡單基礎完整的git工作流程。當然,這些只是在一切正常的情況下,git的強大之處遠不止這些!還有很多複雜的應用場景,我會根據自己實際的工作經驗一一講解。最後,如有錯誤之處還請批評指正,謝謝! !


陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn