用了兩年git,rebase原來這樣用

?目錄

SourceTree簡介

git merge使用教程

git rebase使用教程

一、SourceTree簡介

SourceTree 是 Windows 和Mac OS X 下免費的 Git 和 Hg 客戶端,擁有可視化界面,容易上手操作。同時它也是Mercurial和Subversion版本控制系統(tǒng)工具。支持創(chuàng)建、提交、clone、push、pull 和merge等操作。

附上兩圖

倉庫目錄:


新版的工作窗口,也是走扁平化風格

基本的操作就不多說了,說下sourcetree新手偶爾會遇到的坑,就是賬號設置。


sourcetree=>preferences=>network這里有賬戶信息,可以多賬戶。

第一次clone的時候賬號密碼如果寫過可以來這里修改,windows版本好像略坑爹,

可以直接remove賬號,重新clone一次。


二、git merge教程


上面有兩種merge方式,一種是from log,一種是fetched,筆者一般用后者,可以直接直觀和其它分支合并



合并完之后一般會有沖突,怎么處理沖突呢?

1.簡單粗暴的方法:


假如我當前分支在develop分支,現(xiàn)在merge jack分支出現(xiàn)了這個沖突,

Resolve Using 'Mine',就是當前這出現(xiàn)沖突的整個文件以develop分支這邊的為準,

也就是整個文件處理后就是和develop分支一樣。

Resolve Using 'Theirs',就是以jack分支的文件為準。

這樣做顯然有點low

2.直接處理沖突代碼


用subline打開這個沖突的文件,可以看到>>>>分割的兩塊代碼,這兩塊代碼就是沖突的地方咯,下面的就是develop分支的代碼,這里我是在jack分支合并develop分支,所以第一塊代碼就是jack分支的代碼,那幾個很low的漢字就是我打的,制造沖突。

這樣我們就可以根據(jù)我們需要來刪掉那一部分或者微調(diào),然后把三處>>>刪掉,

沖突就處理完了。

三、git rebase教程

以前遇到commit寫錯總是使用git reset --soft回退到之前的狀態(tài),再commit后push -f強推到遠程庫,能夠覆蓋掉之前的commit。

現(xiàn)在想想也是很low的做法,git rebase 可以幫你搞定這個問題。

好了,隨便提交了幾個

工作中,我們可能不小心寫錯commit,例如上面那個 “測試 git rebase”我寫錯了,我想改一改,怎么辦呢?

1.(打開terminal)

git rebase -i 233d7b3( 這個commit是在我們要修改的commit前一個)


git rebase -i 233d7b3

然后就進入下面這里:


這里就是我們熟悉的vi,按i進入insert模式,

我們是要修改,所以改成

reword 345c70f 測試 git rebase

?? ? esc : wq 保存退出


i進入insert模式,修改commit內(nèi)容,esc ?: wq 保存退出。

最后害得強push

git push --force


那么我們要如何合并幾個commit呢?

和上面類似,我們首先

git rebase -i f290515(我們要合并的commit的前一個)


pick 766f348 dsfdsf

squash 233d7b3 sdfdsf

squash 345c70f 測試 git rebase

我們可以這樣修改 ?將后面兩個改成squash,就是合并到第一個上去

如果沒有沖突就可以看到這個界面


保存退出

最后git push -f



rebase和merge有什么區(qū)別呢

我們可以看下其他人寫的

gitrebase使用筆記

http://www.itdecent.cn/p/cca69cb695a6

#相關文章

給產(chǎn)品經(jīng)理的技術書

產(chǎn)品經(jīng)理的技術修養(yǎng)-序言

1、李大仁來深創(chuàng)業(yè)-互聯(lián)網(wǎng)介紹

2、一杯奶茶-前后端的區(qū)別

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

相關閱讀更多精彩內(nèi)容

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