提及來在來到公司以前一直沒有好好用 Git 來管理分支. 以前練習的時候有用到 Git, 可是也僅限於本地倉庫的提交而已, 這樣作更多的只是留下一個可供追尋的路徑 ( History ), 沒有太多的
管理
職能. 在多人協同合做的項目中, Git 終於發揮出它強大的優點.git
apt-get install git
在看這篇文章以前你得具有 Git
的基礎, 基礎教程: 廖雪峯 Git.fetch
開發人員來到公司第一件事情要克隆得到公司在 Git Lab
的項目.spa
git clone 項目地址 SSH 地址
項目拉取下來以後通常遵循新建一個本身的子分支開發.命令行
git checkout -b dev
開發人員能夠正常開發了, 程序 / 功能
開發完後.code
# 查看本地倉庫狀態, 綠色表明添加到 Git 管理中, 紅色表明沒有添加到 Git 管理 git status # 將文件添加到 Git 管理之中 git add . # 將文件添加到本地倉庫 git commit -m '本次功能說明'
Git 管理者須要合併代碼的時候開發人員得推送到項目遠程倉庫.教程
# git remote 能夠查看遠程倉庫地址 git push origin dev:dev
上面代碼中是將本地 dev 分支推送到遠程 dev 分支, 注意: 開發人員不要提交到遠程 master 分支, 必定是遠程子分支, 若是遠程沒有子分支, 第一次提交會自動建立遠程子分支.開發
Git 管理者將代碼合併以後, 開發者須要獲取合併後的最新代碼, 獲取推薦使用 git fetch
, 不推薦使用 git pull
由於 git pull
會將代碼獲取後自動合併到當前分支並提交到本地倉庫, 不利於檢查衝突, git fetch
會將遠程分支存在到本地但不會合並, 只須要本身手動合併.rem
# 查看遠程分支 git fetch # 合併遠程主分支, 通常來講不會有衝突 git merge origin/master # 爲了保持本地主分支和子分支相同版本, 切換到主分支合併剛剛從遠程拉取最新代碼的子分支 git checkout master git merge dev # 而後再切換回子分支開發 git checkout dev
開發者在項目中大體 Git 運用流程就完成了.get
管理人員也要建立一個子分支開發, 開發人員都將本身的子分支提交到遠程的子分支後, 管理人員首先查看遠程分支提交的信息記錄, 而後再將開發人員的遠程子分支與本身本地子分支合併. 注意: 管理人員也要將本地子分支提交到本地倉庫, 保證本地倉庫 乾淨
.it
# 查看遠程分支提交狀況 git fetch # 拉取開發人員的遠程子分支 git merge origin/開發人員遠程子分支名稱
沒有出現衝突, 會彈出全屏英文信息, 大體內容是合併信息, 按 ctrl + c
關閉, 隨後會自動提交到本地倉庫, 若是有衝突會在命令行提示出來, 管理者只須要 git status
查看那些文件是 紅色
的這表明有衝突有改動. 而後管理者本身打開有衝突那個文件手動解決衝突, 衝突之中 HEAD
表明本身的代碼區, ==
是分界符號, 分界符號下面是開發人員的代碼區, 解決完成而後再提交到本地倉庫.
# 查看那些文件有衝突 ( 紅色 ) git status # 衝突解決完後 git add . git commit -m '合併其餘人代碼'
依次合併其餘人員代碼, 合併完全部人代碼後, 再把代碼提交到遠程主分支.
# 將代碼提交到遠程倉庫 git push origin dev:master # 保持主分支與子分支的一致性 git checkout master git merge dev # 開發必定是在子分支 git checkout dev
管理者在項目中大體 Git 管理流程就完成了.