簡介
背景
用過 git 版本管理的,對 SourceTree 應該不陌生的。它是 git 一個跨平臺的 GUI 工具。介面很不錯,而且功能也是很強大的。下面小編就針對SourceTree做一個小小的總結歸納,希望大家喜歡!
![還在記git命令?快試試SourceTree](https://i.iter01.com/images/f95c4e6024afeaefaf8d0d47de87d1bb97bbad149f050bba4eb08fa6a6b783f7.jpg)
SourceTree下載官網下載地址Download for Mac OSX or Windows
這款軟體是免費的,但是需要註冊,登入授權;登入和授權這兩個步驟沒啥問題,但對於註冊需要科學上網才能註冊的了。
其實一些編輯器也是可以用作git提交程式碼的,包括合併程式碼等都行,之前整理過一 篇關於 Visual Studio Code
如何提交程式碼的,在VS Code中也有很多git提交的外掛。但是對比了發現SourceTree更強大更專業一點。
![還在記git命令?快試試SourceTree](https://i.iter01.com/images/608b75e2bcfcaecb6d8d61b70d8df147c4f6279db832dc888abf8c01fd26e493.jpg)
新增倉庫
clone倉庫
![還在記git命令?快試試SourceTree](https://i.iter01.com/images/56df7243749b4ecd6cd4785a4f4f0e60e9d44dcd4e4204779c7b551911666806.jpg)
新建分支
在GitHub或者gitlab上面新建一個新的遠端分支比較簡單,只需要規定從哪邊clone的即可。
![還在記git命令?快試試SourceTree](https://i.iter01.com/images/5238c7796d62aedc7ab87f6e335d838c155b713fe66f411b1dc9ff8e11415e29.jpg)
⚡ 需要注意的是,新建的遠端分支也許在
SourceTree
上面沒顯示,這時候我們可以從origin在拉取一遍,也許資料沒有同步過來。
![還在記git命令?快試試SourceTree](https://i.iter01.com/images/d9480dfb16b36f06635ef0c1d071083dbb9507583ce477b527be9790d9394791.jpg)
檢出分支
在本地開發的話,當然要新建一個某遠端分支相對應的本地分支,這時候 SourceTree
的檢出功能就顯得很強大了。檢出分支相當於在本地建立一個和遠端程式碼同步的分支,在專案功能迭代的時候很常用,你可以在不同的分支上面提交不同的功能程式碼,互不影響。
在origin
裡面找到要同步檢出的遠端分支,右鍵檢出即可
![還在記git命令?快試試SourceTree](https://i.iter01.com/images/d57e85b75a6065f055d10461e4cc67938558e0cd5e610801dd5ba561633424b6.jpg)
你可以更改本地分支名,但是建議保持一致方便查詢
![還在記git命令?快試試SourceTree](https://i.iter01.com/images/18d954d1c19d6978523de4029eec1faa70142a1b7c8d08ace5ab9192097e375f.jpg)
你也可以雙擊分支完成切換
![還在記git命令?快試試SourceTree](https://i.iter01.com/images/826fc542a0e648ef2ef1d1400460f8a31009c38feab94c04268bd7485969adc8.jpg)
提交流程
先說下大致思路
提交流程很簡單,大致是這樣的,先暫存要提交的檔案,提交,拉取分支程式碼(這裡是拉取別人寫的程式碼),有衝突解決衝突(你和別人改了同一個地方了),再提交,最後推送上去即可。簡單吧!
暫存程式碼
在為暫存檔案裡面勾選即可暫存,暫存的意思就是說,我這裡面的檔案是準備要提交的。
提交
![還在記git命令?快試試SourceTree](https://i.iter01.com/images/3a8c4c95e917bd2401e20ebf168e808f7358e52b1374bbc04f315aeb1aa8c9c1.jpg)
解決衝突
解決衝突這個工具處理的不是很好,這邊建議用編輯器解決,一目瞭然。Vs Code解決衝突
回滾提交
有些時候,我們提交的程式碼有問題,需要回滾回去。 將某次變更(在sourcetree裡是某個節點)右鍵選擇回滾提交。
![還在記git命令?快試試SourceTree](https://i.iter01.com/images/5aff13a789a60a5c1343703f49df33fe97cd6473ac623e94d98d605ad6ad9fd0.jpg)
總結
提交的流程很清晰,總之記住要
先拉取
在推送
就是了。
操縱分支
切換分支
切換分支很簡單,在分支標籤下雙擊一個分支即可
![還在記git命令?快試試SourceTree](https://i.iter01.com/images/1f199b8cb710a680973d2bfb83ce997d5c26f2e42db84aff039731e0b00ea61e.jpg)
⚡ 需要注意的是,在切換分支之前儘量吧切換前分支程式碼的提交一下,不然要是程式碼有衝突的時候會報錯
合併分支(合併程式碼)
合併分支相當於在A遠端分支上 去merge B遠端分支的程式碼,做到A包含B的效果,大致流程就是,①先在本地切換成A分支,②merge B分支程式碼,③有衝突的話解決衝突,④提交完成合並。
這裡以master分支為例,merge jquery-seeds@1.0分支的程式碼:首先拉取jquery-seeds@1.0到master
方法一:
拉取過後要是有衝突檔案本地需要解決衝突(衝突過多的話建議用編輯器解決衝突)
![還在記git命令?快試試SourceTree](https://i.iter01.com/images/db3ba8e210a6bdf6a50de80a05ec285dbcc48133ad9dba31b4b64456e3d896e6.jpg)
解決衝突
![還在記git命令?快試試SourceTree](https://i.iter01.com/images/37d7999e8141a67615e73262405829f9fdff2b7c466a4cf7b7282490f413492b.jpg)
提交(和正常提交流程一致)
方法二:
點合併分支
![還在記git命令?快試試SourceTree](https://i.iter01.com/images/834af9b82cf4c87e50ef0434bdec2ee537290772f2faef6be44371913b93106d.jpg)
![還在記git命令?快試試SourceTree](https://i.iter01.com/images/74b7b63e023c7f385214e42828ca9cebf4456794c60f67a9f25abada1b6a29e8.jpg)
合併好後,還可以在本地對比下新增了哪些檔案及所做的改動(有衝突解決衝突,推薦用編輯器解決衝突)
![還在記git命令?快試試SourceTree](https://i.iter01.com/images/cf38865cc53ee3e015dd72dbdb8411855f1cf94da877d1a8608977e179ae4486.jpg)
常見問題
1.每次用sourceTree拉程式碼都需要輸入密碼,如何解決?
如圖所示:
![還在記git命令?快試試SourceTree](https://i.iter01.com/images/74d6b9f5fc4366af121972bdb91026d74ee4c20fb9e4ad5e7dec21ed1b27bcf5.jpg)
解決方案一:
在每個git或者gitlab倉庫上面拼上
gitname@
即可,如圖:
![還在記git命令?快試試SourceTree](https://i.iter01.com/images/1e4ed4bd3328105b0fef0a26b0fdcf663baadd07e6d99e858c8fed24eb66de10.jpg)
解決方案二:
在設定的網路裡面先刪除git分支對應的使用者,然後重試即可!
![還在記git命令?快試試SourceTree](https://i.iter01.com/images/cbe8e1f652ee8290d3d99bf5e20b6838a0e5ed1637d57fcf258b4d53a9f45357.jpg)
![還在記git命令?快試試SourceTree](https://i.iter01.com/images/6a5cdddb08e51186efa836250186222b19cf913ef35c5a8c5fc84a41ed902078.png)