Git技術文檔

本技術文檔主要講的是關於git的基本使用以及git工做流等的認識和實際開發過程當中的衝突解決等。 1. Git與代碼託管平臺 1.1 Git與Github比較 Git: 是一個版本管理工具 , 只在本地使用的一個版本管理工具,其做用就是可讓你更好的管理你的程序, 好比你原來提交過的內容,後面雖然修改過,可是經過git這個工具,能夠把你原來提交的內容重現出來,這 樣對於你後來才意識到的一些錯誤進行更改,進行還原。 GitHub (官網: https://github.com/): 是一個基於Git的遠程代碼託管平臺(網站),能夠在github上創建一個遠程庫,能夠將本地庫的代碼提交到遠程庫,這樣你的每次提交,別人也均可以看到你的代碼,同時別人也能夠幫你修改你的代碼,這種開源的 方式很是方便程序員之間的交流和學習。 1.2 Git託管平臺 局域網: GitLab(可自行搭建) 外網環境: GitHub 碼雲 1.3 本地庫和遠程庫 團隊內部協做開發git


遠程跨團隊協做開發程序員


2. Git命令行操做 2.1 打開命令行窗口 安裝Git後,在資源管理器的空白處,單擊鼠標右鍵打開窗口,點擊 Git Bash Here ,打開Git命令行窗口, 在窗口中可直接使用Linux命令操做:github


2.2 初始化git本地庫 命令:git init 效果:
工具



注意: .git 目錄中存放的是本地庫相關核心配置文件,也不要隨意刪除與修改學習

.git 目錄倉庫目錄說明:測試

hooks目錄:腳本文件的目錄。網站

info目錄:保存了不但願在 命令行

.gitignore 文件中管理的忽略模式的全局可執行文版本控制


logs目錄:日誌目錄指針

objects目錄:存儲全部數據內容

refs目錄:存儲指數據(分支)的提交對象的指針config文件包含了項目特有的配置選項description文件僅供 GitWeb 程序使用

HEAD文件指向當前分支

    1. 設置簽名信息

做用:只爲區分不一樣開發人員的身份信息

用戶名:zhangyang

Email:919081924@qq.com

注意:這裏的簽名信息和登陸遠程庫的賬號和密碼沒有任何關係(碼雲,Github)

命令:



  1. Git基本操做
    1. 查看狀態

用於查看工做區、暫存區的狀態


根據狀態提示,往倉庫中建立一個demo01.txt文件,文件保存一些內容(按i插入內容,按:wq,保存並退出, 按 ':q!' 不保存強制退出)



再git status查看狀態提示 untracked files有未追蹤文件)



3.2添加到暫存區



3.2 提交到本地庫 將暫存區提交到本地庫

命令:git commit [-m 「提交說明信息」]<file name>

修改demo1.txt文件內容,在查看狀態

4. Git分支管理

4.1什麼是git分支 在版本控制過程當中,使用多條線同時推動多個任務 以下圖:

4.2 Git分支的好處? 同時並行推動多個功能開發,提升開發效率 各個分支在開發過程當中,若是某一個分支開發失敗,不會對其餘分支有任何影響。失敗的分支刪除從新開始 便可。 4.3 Git分支操做 查看分支: git branch -v 建立分支: git branch 新分支名 刪除分支(刪除的分支不是當前正在打開的分支): git branch -d 分支名 切換分支: git chckout 分支名 合併分支: 第1步:切換到接受修改的分支上 命令: git checkout 須要接受的分支名 第2步:執行 merge 命令 命令: git merge 有新內容的分支名 解決衝突: 衝突的表現:以下圖


衝突的解決: 第1步:編輯文件,刪除特殊符號 第2步:把文件修改到滿意爲止,保存退出第3步:git add 文件名 第4步:git commit -m "日誌信息" 注意:此時 commit 後面必定不要有文件名 5 Git 工做流與實戰演練 5.1什麼是工做流 由於項目開發中,多人協做,分支不少,雖然各自在分支上互不干擾,可是咱們總歸須要把分支合併到一塊兒,並且真實項目中涉及到不少問題,例如版本迭代,版本發佈,bug 修復等,爲了更好的管理代碼,須要制定一個工做流程,這就是咱們說的工做流,也有人叫它分支管理策略。 "工做流程"在英語裏,叫作"workflow"或者"flow",原意是水流,比喻項目像水流那樣,順暢、天然地向前流動,不會發生衝擊、對撞、甚至漩渦。 5.2GitFlow工做流說明


Gitflow 工做流經過爲功能開發、發佈準備和維護設立了獨立的分支,讓發佈迭代過程更流暢。嚴格的分支模型也爲大型項目提供了一些很是必要的結構。


剩下要說明的問題圍繞着這2個分支的區別展開。 5.3 分支種類


主幹分支 master 主要負責管理正在運行的生產環境代碼。 永遠保持與正在運行的生產環境 徹底一致。熱修復分支 hotfix 主要負責管理生產環境下出現的緊急修復的代碼。 從主幹分支分出,修 理完畢並測試上線後,並回主幹分支。並回後,視狀況能夠刪除該分支。 開發分支 develop 主要負責管理正在開發過程當中的代碼。通常狀況下應該是最新的代碼。 準生產分支(預發佈分支) release 較大的版本上線前,會從開發分支中分出準生產分支,進行最後階段的集 成測試。該版本上線後,會合併到主幹分支。生產環境運行一段階段較穩定後 能夠視狀況刪除。 功能分支 feature 爲了避免影響較短週期的開發工做,通常把中長期開發模塊,會從開發分支 中獨立出來。 開發完成後會合併到開發分支。 5.4 工做流實戰演練


5.4.1第1步: 建立開發分支 使用 經理 用戶,在本地倉庫中新建立一個 develop 分支 項目右鍵 → Git → Repository → Branches 點擊 New Branch 建立分支 框中輸入新分支名:develop , Checkout branch 勾選後,會立刻切換到新建立的這個分支 右下角可查看到當前所在分支: develop

5.4.2第2步: 經理 develop分支止開發新功能


5.4.3第3步: 經理 提交到本地庫並推送到遠程develop分支

上面點擊 commit and Push 後,會彈出下面窗口,提示進行 push 到遠程庫


在碼雲上 切換develop分支查看

5.4.3第4步: 總監 拉取遠程庫develop分支代碼到本地develop分支


總監先在本地建立好develop分支 總監再進行遠程庫develop分支代碼到本地develop分支

5.4.4第5步: 總監 切換回主分支master(本地庫)


項目右鍵 → Git → Repository → Branches

以下已經切換成功:


5.4.5第6步: 總監 將本地develop合併到mater分支上 項目右鍵 → Git → Repository → Merge Changes...

合併結果:


5.4.6第7步: 總監 將合併後的master推送到遠程庫master

項目右鍵 → Git → Repository → push

相關文章
相關標籤/搜索