Git可視化管理工具(SourceTree)使用操作大全經(jīng)典
前言:
俗話說的好工欲善其事必先利其器,Git分布式版本控制系統(tǒng)是我們?nèi)粘i_發(fā)中不可或缺的。目前市面上比較流行的Git可視化管理工具有SourceTree、Github Desktop、TortoiseGit,綜合網(wǎng)上的一些文章分析和自己的日常開發(fā)實(shí)踐心得個(gè)人比較推薦開發(fā)者使用SourceTree,因?yàn)镾ourceTree同時(shí)支持Windows和Mac,并且界面十分的精美簡潔,大大的簡化了開發(fā)者與代碼庫之間的Git操作方式。該篇文章主要是對日常開發(fā)中使用SourceTree可視化管理工具的一些常用操作進(jìn)行詳細(xì)講解。
連接Gitee or GitHub,獲取代碼:
注意:這里介紹的是使用SSH協(xié)議獲取關(guān)聯(lián)遠(yuǎn)程倉庫的代碼,大家也可以直接使用過HTTPS協(xié)議的方式直接輸入賬號密碼獲取關(guān)聯(lián)代碼!
在SourceTree中添加SSH密鑰:
工具=>選擇:
添加SSH密鑰位置:C:\Users\xxxxx\.ssh\id_rsa.pub:
SSH客戶端選擇OpenSSH:
Clone對應(yīng)托管平臺倉庫(以Gitee為例):
打開碼云,找到自己需要Clone的倉庫!
SourceTree設(shè)置默認(rèn)工作目錄:
由上面我們可以發(fā)現(xiàn)每次Clone克隆項(xiàng)目的時(shí)候,克隆下來的項(xiàng)目默認(rèn)存儲位置都是在C盤,因此每次都需要我們?nèi)ミx擇項(xiàng)目存放的路徑,作為一個(gè)喜歡偷懶的人而言當(dāng)然不喜歡這種方式啦,因此我們可以設(shè)置一個(gè)默認(rèn)的項(xiàng)目存儲位置。
設(shè)置SourceTree默認(rèn)項(xiàng)目目錄:
點(diǎn)擊工具=>選項(xiàng)=>一般=>找到項(xiàng)目目錄設(shè)置Clone項(xiàng)目默認(rèn)存儲的位置:
SourceTree代碼提交:
1.首先切換到需要修改功能代碼所在的分支:
2.將修改的代碼提交到暫存區(qū):
3.將暫存區(qū)中的代碼提交到本地代碼倉庫:
注意:多人同時(shí)開發(fā)項(xiàng)目的時(shí)候,不推薦默認(rèn)選中立即推送變更到origin/develop,避免一些不必要的麻煩!
4.代碼拉取更新本地代碼庫,并將代碼推送到遠(yuǎn)程倉庫:
勾選需要推送的分支,點(diǎn)擊推送到遠(yuǎn)程分支:
代碼成功推送到遠(yuǎn)程代碼庫:
5.在Gitee中查看推送結(jié)果:
SourceTree分支切換,新建,合并:
1.分支切換:
雙擊切換:
單擊鼠標(biāo)右鍵切換:
2.新建分支:
注意:在新建分支時(shí),我們需要在哪個(gè)主分支的基礎(chǔ)上新建分支必須先要切換到對應(yīng)的主分支才能到該主分支上創(chuàng)建分支,如下我們要在master分支上創(chuàng)建一個(gè)feature-0613分支:
3.合并分支:
注意:在合并代碼之前我們都需要將需要合并的分支拉取到最新狀態(tài)(**避免覆蓋別人的代碼,或者丟失一些重要文件)!!!!!
在master分支上點(diǎn)擊右鍵,選擇合并feature-0613至當(dāng)前分支即可進(jìn)行合并:
分支合并成功:
SourceTree代碼沖突解決:
首先我們需要制造一個(gè)提交文件遇到?jīng)_突的情景:
在SoureceTree中在Clone一個(gè)新項(xiàng)目,命名為pingrixuexilianxi2,如下圖所示:
我們以項(xiàng)目中的【代碼合并沖突測試.txt】文件為例:
在pingrixuexilianxi2中添加內(nèi)容,并提交到遠(yuǎn)程代碼庫,添加的內(nèi)容如下:
在pingrixuexilianxi中添加內(nèi)容,提交代碼(不選擇立即推送變更到origin/master),拉取代碼即會遇到?jīng)_突:
沖突文件中的內(nèi)容:
直接打開沖突文件手動(dòng)解決沖突:
由下面的沖突文件中的沖突內(nèi)容我們了解到:
1 2 3 4 5 |
<<<<<<< HEAD 6月19日 pingrixuexilianxi添加了內(nèi)容 ======= 6月18日 pingrixuexilianxi2修改了這個(gè)文件哦 >>>>>>> a8284fd41903c54212d1105a6feb6c57292e07b5 |
<<<<<<< HEAD到 =======里面的【6月19日 pingrixuexilianxi添加了內(nèi)容】是自己剛才的Commit提交的內(nèi)容
=======到 >>>>>>> a8284fd41903c54212d1105a6feb6c57292e07b5里面的【6月18日 pingrixuexilianxi2修改了這個(gè)文件哦】是遠(yuǎn)程代碼庫更新的內(nèi)容(即為pingrixuexilianxi2本地代碼庫推送修改內(nèi)容)。
手動(dòng)沖突解決方法:
根據(jù)項(xiàng)目需求刪除不需要的代碼就行了,假如都需要的話我們只需要把 <<<<<<< HEAD======= >>>>>>> a8284fd41903c54212d1105a6feb6c57292e07b5都刪掉沖突就解決了(注意,在項(xiàng)目中最后這些符號都不能存在,否則可能會報(bào)異常)。
最后將沖突文件標(biāo)記為已解決,提交到遠(yuǎn)程倉庫:
采用外部文本文件對比工具Beyond Compare解決沖突:
SourceTree配置文本文件對比工具Beyond Compare:
工具=>選項(xiàng)=>比較:
使用Beyond Compare解決沖突:
Beyond Compare使用技巧:
官方全面教程:https://www.beyondcompare.cc/jiqiao/
SourceTree打開外部和合并工具:
注意:第一次啟動(dòng)Beynod Compare軟件需要一會時(shí)間,請耐心等待:
Beynod Compare進(jìn)行沖突合并:
點(diǎn)擊保存文件后關(guān)閉Beynod Compare工具,SourceTree中的沖突就解決了,在SourceTree中我們會發(fā)現(xiàn)多了一個(gè) .orig 的文件。接著選中那個(gè).orig文件,單擊右鍵 => 移除,最后我們推送到遠(yuǎn)程代碼庫即可:
Sourcetree中的基本名詞說明:
克隆/新建(clone):從遠(yuǎn)程倉庫URL加載創(chuàng)建一個(gè)與遠(yuǎn)程倉庫一樣的本地倉庫。
提交(commit):將暫存區(qū)文件上傳到本地代碼倉庫。
推送(push):將本地倉庫同步至遠(yuǎn)程倉庫,一般推送(push)前先拉?。╬ull)一次,確保一致(十分注意:這樣你才能達(dá)到和別人最新代碼同步的狀態(tài),同時(shí)也能夠規(guī)避很多不必要的問題)。
拉取(pull):從遠(yuǎn)程倉庫獲取信息并同步至本地倉庫,并且自動(dòng)執(zhí)行合并(merge)操作(git pull=git fetch+git merge)。
獲取(fetch):從遠(yuǎn)程倉庫獲取信息并同步至本地倉庫。
分支(branch):創(chuàng)建/修改/刪除分枝。
合并(merge):將多個(gè)同名文件合并為一個(gè)文件,該文件包含多個(gè)同名文件的所有內(nèi)容,相同內(nèi)容抵消。
貯藏(git stash):保存工作現(xiàn)場。
丟棄(Discard):丟棄更改,恢復(fù)文件改動(dòng)/重置所有改動(dòng),即將已暫存的文件丟回未暫存的文件。
標(biāo)簽(tag):給項(xiàng)目增添標(biāo)簽。
工作流(Git Flow):團(tuán)隊(duì)工作時(shí),每個(gè)人創(chuàng)建屬于自己的分枝(branch),確定無誤后提交到master分支。
終端(terminal):可以輸入git命令行。
每次拉取和推送的時(shí)候不用每次輸入密碼的命令行:git config credential.helper osxkeychain sourcetree。
檢出(checkout):切換不同分支。
添加(add):添加文件到緩存區(qū)。
移除(remove):移除文件至緩存區(qū)。
重置(reset):回到最近添加(add)/提交(commit)狀態(tài)。
1、fork 項(xiàng)目:
2、克隆本地
打開Git Bash輸入倉庫克隆命令:
|
3、根據(jù)文檔創(chuàng)建分支
拖進(jìn) SourceTree,基于 dev 創(chuàng)建分支如下圖:
4、提交修改的代碼到遠(yuǎn)程代碼庫
文章上面已經(jīng)提到了使用SourceTree提交的相關(guān)操作,可參考:
https://www.cnblogs.com/Can-daydayup/p/13128633.html#_label5(或者Ctrl F:SourceTree代碼提交)
當(dāng)然也可以使用git命令提交:
|
5、提交 Pull Request
第四步提交成功后,進(jìn)入原來fork的倉庫,點(diǎn)擊 Compare
提交你的說明,選擇合并的分支即可,剩下等待合并。
到此這篇關(guān)于Git可視化管理工具(SourceTree)使用操作大全經(jīng)典的文章就介紹到這了,更多相關(guān)SourceTree使用操作(入門到精通)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Git可視化管理工具(SourceTree)使用操作大全經(jīng)典
本文詳細(xì)介紹了SourceTree作為Git可視化管理工具的常用操作,包括連接遠(yuǎn)程倉庫、添加SSH密鑰、克隆倉庫、設(shè)置默認(rèn)項(xiàng)目目錄、代碼提交、分支切換和合并、解決沖突等,通過這些步驟,開發(fā)者可以更高效地進(jìn)行代碼管理和版本控制2025-05-05Atlassian系列產(chǎn)品及插件激活方法[JIRA8.19.0+]
Atlassian家有很多產(chǎn)品,都真的非常好用。比如公司使用JIRA做項(xiàng)目管理,使用Confluence做文檔、知識管理等(我個(gè)人用它來做筆記)。本文給大家分享Atlassian系列產(chǎn)品及插件激活方法[JIRA8.19.0+],感興趣的朋友參考下吧2021-12-12使用Visual Studio進(jìn)行文件差異比較的問題小結(jié)
這篇文章主要介紹了使用Visual Studio進(jìn)行文件差異比較,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-07-07Deepseek R1模型本地化部署+API接口調(diào)用詳細(xì)教程(釋放AI生產(chǎn)力)
本文介紹了本地部署DeepSeekR1模型和通過API調(diào)用將其集成到VSCode中的過程,作者詳細(xì)步驟展示了如何下載和部署DeepSeekR1模型,并提供了解決下載問題的建議,最后,作者解釋了如何在VSCode中使用Cline插件調(diào)用DeepSeekAPI,以實(shí)現(xiàn)智能編碼輔助,感興趣的朋友一起看看吧2025-02-02使用postman進(jìn)行接口測試的方法(測試用戶管理模塊)
這篇文章主要介紹了使用postman進(jìn)行接口測試的方法(測試用戶管理模塊),本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2021-01-01詳解git submodule HEAD detached 的問題
這篇文章主要介紹了詳解git submodule HEAD detached 的問題,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-08-08