SourceTree使用(II)

終端一般 Git命令

增加新功能

///從dev建立特性分支
(dev)$: git checkout -b feature/xxx   

///開發(fā)        
(feature/xxx)$: blabla                         
(feature/xxx)$: git add xxx
(feature/xxx)$: git commit -m 'commit comment'

///把特性分支合并到dev
(dev)$: git merge feature/xxx --no-ff          


修復(fù)緊急bug

///從master建立hotfix分支
(master)$: git checkout -b hotfix/xxx   

///開發(fā)      
(hotfix/xxx)$: blabla                        
(hotfix/xxx)$: git add xxx
(hotfix/xxx)$: git commit -m 'commit comment'

/// 把hotfix分支合并到master,并上線到生產(chǎn)環(huán)境
(master)$: git merge hotfix/xxx --no-ff  

///把hotfix分支合并到dev,同步代碼     
(dev)$: git merge hotfix/xxx --no-ff        



測試環(huán)境代碼

///把dev分支合并到release,然后在測試環(huán)境拉取并測試
(release)$: git merge dev --no-ff             


生產(chǎn)環(huán)境上線

///把testing測試好的代碼合并到master,運(yùn)維人員操作
(master)$: git merge testing --no-ff   

///給版本命名,打Tag       
(master)$: git tag -a v0.1 -m '部署包版本名' 




新建分支

創(chuàng)建 Develop 分支 步驟

創(chuàng)建了Develop分支,如下:


Develop 分支效果圖



Demo: 創(chuàng)建功能開發(fā)分支feature/Harley

feature/Harley 步驟

效果:


feature 效果圖



遠(yuǎn)程檢出分支

遠(yuǎn)程檢出 develop 分支

檢出 develop 分支

效果圖:


遠(yuǎn)程檢出的 develop 分支




刪除分支

刪除遠(yuǎn)程分支

刪除遠(yuǎn)程分支

? 這是刪除遠(yuǎn)程的分支,本地分支還沒有刪除,需要進(jìn)行下一步刪除本地分支。


刪除本地分支

刪除 Develop 分支步驟圖




拉取

? master分支的內(nèi)容是最新的,feature/Harley的分支版本落后于master,從遠(yuǎn)程拉取內(nèi)容合并到feature/Harley的分支上,如下圖步驟:

拉取 master 分支到 feature/Harley 分支上




合并分支

第一種方法

合并分支


第二種方法

合并Huang 分支到 develop 分支




代碼回滾

適用于的場景:

  • 提交錯代碼,想放棄剛剛提交的部分;
  • 代碼發(fā)生沖突,處理比較麻煩,為了代碼安全,直接回滾到之前干凈的代碼。

回滾分為本地回滾遠(yuǎn)程回滾;



本地回滾,回滾已經(jīng)提交的代碼,但還未推送到遠(yuǎn)程倉庫。

選擇回滾到哪次提交

選擇模式進(jìn)行回滾

使用模式:
軟合并:保留上第二次提交的修改內(nèi)容,就等第二次提交的【概述】了。
混合合并:保留上第二次提交的修改內(nèi)容,就等第二次提交的【概述】了(與軟合并沒啥區(qū)別)。
強(qiáng)行合并:清除第二次提交的所有內(nèi)容,第一次提交的【概述】也沒有了,好像剛剛第一次的提交。

效果圖:


本地回滾完成



遠(yuǎn)程回滾
? SourceTree默認(rèn)是不提供這種操作的,因為存在風(fēng)險。所以,回滾遠(yuǎn)程代碼,一定要注意:
①. 想要放棄的代碼,是所有開發(fā)成員都一致同意的;
②. 想要放棄的代碼只是自己的,中間沒有別人的提交記錄,這可以直接回滾。
③. 這個操作過程中,提醒其他成員不要推送代碼。

  • Frist Stemp


    SourceTree 開啟【允許強(qiáng)制推送】權(quán)限
  • Second Stemp


    回滾到想提交的位置
  • Third Stemp


    強(qiáng)制推送

效果圖:


回到了第一次提交位置




變基

變基與合并的區(qū)別

作用:

  • 變基到其他分支,不會生成新的提交節(jié)點(diǎn);
  • 壓縮提交消息;



①變基到其他分支將Harley 分支內(nèi)容接到 develop

將Harley 分支內(nèi)容接到 develop

注意:在這里,先要拉取,再推送,否則會失敗,下面是推送,如下:

推送develop分支到遠(yuǎn)端




打Tag

功能:

  • 輕量級的:它其實是一個獨(dú)立的分支,或者說是一個不可變的分支.指向特定提交對象的引用;
  • 帶附注的:實際上是存儲在倉庫中的一個獨(dú)立對象,它有自身的校驗和信息,包含著標(biāo)簽的名字,標(biāo)簽說明,標(biāo)簽本身也允許使用 GNU Privacy Guard (GPG) 來簽署或驗證,電子郵件地址和日期,一般我們都建議使用含附注型的標(biāo)簽,以便保留相關(guān)信息。
添加Tag步驟

也可以像下圖那樣打標(biāo)簽???那樣:


工作流打標(biāo)簽流程

Tag 的使用請看這里。

Tag 和 branch 的區(qū)別:

  • tag 對應(yīng)某次 commit, 是一個點(diǎn),是不可移動的;
  • branch 對應(yīng)一系列 commit,是很多點(diǎn)連成的一根線,有一個HEAD 指針,是可以依靠 HEAD 指針移動的。

? 所以,兩者的區(qū)別決定了使用方式,改動代碼用 branch ,不改動只查看用 tag。

? tag 和 branch 的相互配合使用,有時候起到非常方便的效果,例如 已經(jīng)發(fā)布了 v1.0 v2.0 v3.0 三個版本,這個時候,我突然想不改現(xiàn)有代碼的前提下,在 v2.0 的基礎(chǔ)上加個新功能,作為 v4.0 發(fā)布。就可以 檢出 v2.0 的代碼作為一個 branch ,然后作為開發(fā)分支。




Git 工作流

1??在develop 分支建立 release分支

建立release 發(fā)布版本

建立 release 分支的 1.3.7發(fā)布版本




參考資料
Git 分支闡述
sourceTree合并某次提交
source tree進(jìn)行rebase操作
合并多次提交

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容