文章正文:
前言:
俗話說的好工欲善其事必先利其器,Git分布式版本控制系統是我們日常開發中不可或缺的。目前市面上比較流行的Git可視化管理工具有SourceTree、Github Desktop、TortoiseGit,綜合網上的一些文章分析和自己的日常開發實踐心得個人比較推薦開發者使用SourceTree,因為SourceTree同時支持Windows和Mac,並且界面十分的精美簡潔,大大的簡化了開發者與代碼庫之間的Git操作方式。該篇文章主要是對日常開發中使用SourceTree可視化管理工具的一些常用操作進行詳細講解。
SourceTree | Github Desktop | TortoiseGit 可視化管理工具對比:
SourceTree介紹和Atlassian賬號注冊和登錄教程:

連接Gitee or GitHub,獲取代碼:
注意:這里介紹的是使用SSH協議獲取關聯遠程倉庫的代碼,大家也可以直接使用過HTTPS協議的方式直接輸入賬號密碼獲取關聯代碼!
全面概述Gitee和GitHub生成/添加SSH公鑰:
在SourceTree中添加SSH密鑰:
工具=>選擇:



SSH客戶端選擇OpenSSH:


Clone對應托管平台倉庫(以Gitee為例):



SourceTree設置默認工作目錄:
設置SourceTree默認項目目錄:


SourceTree代碼提交:
1.首先切換到需要修改功能代碼所在的分支:


2.將修改的代碼提交到暫存區:
3.將暫存區中的代碼提交到本地代碼倉庫:
注意:多人同時開發項目的時候,不推薦默認選中立即推送變更到origin/develop,避免一些不必要的麻煩!


4.代碼拉取更新本地代碼庫,並將代碼推送到遠程倉庫:




5.在Gitee中查看推送結果:


SourceTree分支切換,新建,合並:
1.分支切換:




2.新建分支:



3.合並分支:




SourceTree代碼沖突解決:
首先我們需要制造一個提交文件遇到沖突的情景:












直接打開沖突文件手動解決沖突:
1
2
3
4
5
|
<<<<<<< HEAD
6月19日 pingrixuexilianxi添加了內容
=======
6月18日 pingrixuexilianxi2修改了這個文件哦
>>>>>>> a8284fd41903c54212d1105a6feb6c57292e07b5
|
根據項目需求刪除不需要的代碼就行了,假如都需要的話我們只需要把 <<<<<<< HEAD======= >>>>>>> a8284fd41903c54212d1105a6feb6c57292e07b5都刪掉沖突就解決了(注意,在項目中最后這些符號都不能存在,否則可能會報異常)。


采用外部文本文件對比工具Beyond Compare解決沖突:
SourceTree配置文本文件對比工具Beyond Compare:



使用Beyond Compare解決沖突:








Sourcetree中的基本名詞說明:
克隆/新建(clone):從遠程倉庫URL加載創建一個與遠程倉庫一樣的本地倉庫。提交(commit):將暫存區文件上傳到本地代碼倉庫。推送(push):將本地倉庫同步至遠程倉庫,一般推送(push)前先拉取(pull)一次,確保一致(十分注意:這樣你才能達到和別人最新代碼同步的狀態,同時也能夠規避很多不必要的問題)。拉取(pull):從遠程倉庫獲取信息並同步至本地倉庫,並且自動執行合並(merge)操作(git pull=git fetch+git merge)。獲取(fetch):從遠程倉庫獲取信息並同步至本地倉庫。分支(branch):創建/修改/刪除分枝。合並(merge):將多個同名文件合並為一個文件,該文件包含多個同名文件的所有內容,相同內容抵消。貯藏(git stash):保存工作現場。丟棄(Discard):丟棄更改,恢復文件改動/重置所有改動,即將已暫存的文件丟回未暫存的文件。標簽(tag):給項目增添標簽。工作流(Git Flow):團隊工作時,每個人創建屬於自己的分枝(branch),確定無誤后提交到master分支。終端(terminal):可以輸入git命令行。每次拉取和推送的時候不用每次輸入密碼的命令行:git config credential.helper osxkeychain sourcetree。檢出(checkout):切換不同分支。添加(add):添加文件到緩存區。移除(remove):移除文件至緩存區。重置(reset):回到最近添加(add)/提交(commit)狀態。
Git分布式版本控制器常用命令和使用:
SourceTree如何提交PR(Pull Request):
Pull Request提交相關操作參考該篇文章:
1、fork 項目:
2、克隆本地
打開Git Bash輸入倉庫克隆命令:
1
|
git clone https:
//github.com/liangtongzhuo/taro-ui.git
|
3、根據文檔創建分支
拖進 SourceTree,基於 dev 創建分支如下圖:
4、提交修改的代碼到遠程代碼庫
文章上面已經提到了使用SourceTree提交的相關操作,可參考:
https://www.cnblogs.com/Can-daydayup/p/13128633.html#_label5(或者Ctrl F:SourceTree代碼提交)
當然也可以使用git命令提交:
1
2
3
|
git add . --提交所有修改的文件到本地暫存區
git commit -m
"fix(dos):修正文字 "
--提交到本地代碼庫
git push --提交到github中的遠程代碼庫
|
5、提交 Pull Request
第四步提交成功后,進入原來fork的倉庫,點擊 Compare
提交你的說明,選擇合並的分支即可,剩下等待合並。