這一講主要介紹SourceTree的使用和git工作流,如果希望能夠很好掌握git工作流苛聘,需要理解git第八講的內(nèi)容。
git有多個圖形用戶界面管理工具,但是這些管理工具都是基于命令操作的钱慢,使用這些管理工具的基礎(chǔ)是對git的各種狀態(tài)要有清晰的認(rèn)識,我們這里介紹的工具是SourceTree,SourceTree下載地址卿堂。下載window的版本安裝完成之后可以看到如下界面
使用文件-->打開
可以打開一個已經(jīng)創(chuàng)建好倉庫的文件夾束莫,也可以通過文件-->克隆/新建
在一個已經(jīng)存在的文件夾中創(chuàng)建一個git的倉庫,等于執(zhí)行命令git init
草描,克隆這個命令是基于遠(yuǎn)程倉庫麦箍,我們將會在下一講介紹遠(yuǎn)程倉庫。
打開一個工廠之后的界面如圖所示
我們打開工作區(qū)陶珠,并且添加一個a.txt的文件,之后看一下SourceTree的狀態(tài)
這里我們可以看到工作區(qū)中的內(nèi)容和暫存區(qū)中不一致享钞,通過stage All可以將內(nèi)容提交給暫存區(qū)揍诽,此時等于執(zhí)行了命令git add .
,執(zhí)行完成之后如下圖所示
這里可以加入提交說明栗竖,通過按鈕提交完成版本的提交暑脆,這里的所有的操作其實(shí)都是和命令一一對應(yīng)的,分支這些操作也一樣狐肢,就不再一一介紹了添吗。接下來我們要看一下git工作流的使用。這里我們會重新創(chuàng)建一個工廠來演示份名,文件夾的名稱是09_2碟联,首先依然在該文件中新建一個git工廠妓美。
點(diǎn)擊確定之后,會有如下一個錯誤提示
這是在告訴我們鲤孵,我們的工廠中沒有任何的分支信息壶栋,這是因?yàn)楣S目前還沒有任何的版本信息,所以我們創(chuàng)建一個readme.md普监,之后執(zhí)行stageAll和提交操作,再進(jìn)行一次git工作流的初始化操作贵试。
初始化完成之后我們發(fā)現(xiàn)存在了兩個分支,master和develop分支凯正,我們所有的開發(fā)都應(yīng)該在develop上添加feature/xx分支來進(jìn)行操作毙玻。當(dāng)有一個新功能之后,點(diǎn)擊git工作流廊散。
這里我們就看到了建立新功能(feature分支)桑滩、建立發(fā)布版本(release分支)、建立熱修復(fù)版本(hotfix分支)這些按鈕奸汇,點(diǎn)擊更多功能有完成的按鈕施符,和上一講的內(nèi)容完全一致,我們建立一個base的功能
當(dāng)輸入功能名稱之后會自動創(chuàng)建feature/功能名稱
的分支擂找。添加一些內(nèi)容完成提交
首先我們要點(diǎn)擊文件狀態(tài)
按鈕才能看到新添加的文件戳吝,stageAll和提交之后會提交到feature/base分支中。該功能開發(fā)完畢之后繼續(xù)點(diǎn)擊git工作流贯涎。
此時點(diǎn)擊完成功能之后听哭,SourceTree會自動幫助我們完成在develop分支上合并feature/base分支并且刪除這個分支。下一步是我們需要創(chuàng)建一個release分支塘雳,一樣點(diǎn)擊git工作流陆盘,選擇創(chuàng)建發(fā)布版本分支
創(chuàng)建完成之后,我們按照上一講的內(nèi)容創(chuàng)建一個rc的文件夾败明,在里面新增一個0.0.1.md的文件來說明版本的更新信息隘马,之后提交這個版本,接著點(diǎn)擊git工作流選擇完成發(fā)布版本妻顶。
這里會完成幾個操作:將release分支合并到master分支上酸员,之后創(chuàng)建一個tag 0.0.1,接著把release分支合并到develop分支上讳嘱,最后刪除release分支幔嗦。當(dāng)操作完成之后,我們會發(fā)現(xiàn)多了一個0.0.1的tag標(biāo)簽
最后再來試一下hotfix沥潭,操作基本一樣邀泉,點(diǎn)擊git工作流,選擇建立新的修復(fù)補(bǔ)丁
之后我們修改一下文件,完成一次版本提交汇恤,之后點(diǎn)擊git工作流選擇完成修復(fù)補(bǔ)丁
庞钢。
這里會執(zhí)行的操作有:合并hotfix分支到master,創(chuàng)建一個tag 0.0.2屁置,合并hotfix到develop分支焊夸,刪除hotfix分支。
大家應(yīng)該發(fā)現(xiàn)使用gitflow其實(shí)和上一講的流程完全一致蓝角,優(yōu)點(diǎn)就是簡化了我們的命令行的操作阱穗。