簡介
背景
用過 git 版本管理的,對 SourceTree 應該不陌生的。它是 git 一個跨平臺的 GUI 工具。介面很不錯,而且功能也是很強大的。下面小編就針對SourceTree做一個小小的總結歸納,希望大家喜歡!

SourceTree下載官網下載地址Download for Mac OSX or Windows
這款軟體是免費的,但是需要註冊,登入授權;登入和授權這兩個步驟沒啥問題,但對於註冊需要科學上網才能註冊的了。
其實一些編輯器也是可以用作git提交程式碼的,包括合併程式碼等都行,之前整理過一 篇關於 Visual Studio Code
如何提交程式碼的,在VS Code中也有很多git提交的外掛。但是對比了發現SourceTree更強大更專業一點。

新增倉庫
clone倉庫

新建分支
在GitHub或者gitlab上面新建一個新的遠端分支比較簡單,只需要規定從哪邊clone的即可。

⚡ 需要注意的是,新建的遠端分支也許在
SourceTree
上面沒顯示,這時候我們可以從origin在拉取一遍,也許資料沒有同步過來。

檢出分支
在本地開發的話,當然要新建一個某遠端分支相對應的本地分支,這時候 SourceTree
的檢出功能就顯得很強大了。檢出分支相當於在本地建立一個和遠端程式碼同步的分支,在專案功能迭代的時候很常用,你可以在不同的分支上面提交不同的功能程式碼,互不影響。
在origin
裡面找到要同步檢出的遠端分支,右鍵檢出即可

你可以更改本地分支名,但是建議保持一致方便查詢

你也可以雙擊分支完成切換

提交流程
先說下大致思路
提交流程很簡單,大致是這樣的,先暫存要提交的檔案,提交,拉取分支程式碼(這裡是拉取別人寫的程式碼),有衝突解決衝突(你和別人改了同一個地方了),再提交,最後推送上去即可。簡單吧!
暫存程式碼
在為暫存檔案裡面勾選即可暫存,暫存的意思就是說,我這裡面的檔案是準備要提交的。
提交

解決衝突
解決衝突這個工具處理的不是很好,這邊建議用編輯器解決,一目瞭然。Vs Code解決衝突
回滾提交
有些時候,我們提交的程式碼有問題,需要回滾回去。 將某次變更(在sourcetree裡是某個節點)右鍵選擇回滾提交。

總結
提交的流程很清晰,總之記住要
先拉取
在推送
就是了。
操縱分支
切換分支
切換分支很簡單,在分支標籤下雙擊一個分支即可

⚡ 需要注意的是,在切換分支之前儘量吧切換前分支程式碼的提交一下,不然要是程式碼有衝突的時候會報錯
合併分支(合併程式碼)
合併分支相當於在A遠端分支上 去merge B遠端分支的程式碼,做到A包含B的效果,大致流程就是,①先在本地切換成A分支,②merge B分支程式碼,③有衝突的話解決衝突,④提交完成合並。
這裡以master分支為例,merge jquery-seeds@1.0分支的程式碼:首先拉取jquery-seeds@1.0到master
方法一:
拉取過後要是有衝突檔案本地需要解決衝突(衝突過多的話建議用編輯器解決衝突)

解決衝突

提交(和正常提交流程一致)
方法二:
點合併分支


合併好後,還可以在本地對比下新增了哪些檔案及所做的改動(有衝突解決衝突,推薦用編輯器解決衝突)

常見問題
1.每次用sourceTree拉程式碼都需要輸入密碼,如何解決?
如圖所示:

解決方案一:
在每個git或者gitlab倉庫上面拼上
gitname@
即可,如圖:

解決方案二:
在設定的網路裡面先刪除git分支對應的使用者,然後重試即可!

