前言
自從我進入公司工作後,第一個接觸到的專案版本管理工具便是SVN。SVN是Subversion的簡稱,是一個開放原始碼的版本控制系統,相較於RCS、CVS,它採用了分支管理系統,它的設計目標就是取代CVS。現在公司的專案也是用的SVN,沒用用Git。個人習慣用圖形化工具,使用SVN的時候,沒有用命令列,而是用的Cornerstone_V3.0.3(有需要的朋友,可以自行下載)。這篇文章的重點不是瞭解Cornerstone的使用,而是這篇文章的主角Sourcetree,用Sourcetree還是有一段時間了,感覺還是挺好用的,Git命令能完成的這個軟體都能完成,並且還有視覺化的介面。自己平時託管到碼雲上的Demo也是用這個軟體進行管理,下面開始介紹Sourcetree的安裝與使用吧。
介紹內容
目錄
一、 Sourcetree簡介
二、下載與安裝
三、Sourcetree使用
四、常見問題解決
一、Sourcetree簡介
A free Git client for Windows and Mac

Sourcetree simplifies how you interact with your Git repositories so you can focus on coding. Visualize and manage your repositories through Sourcetree's simple Git GUI.
Sourcetree簡化了你與Git倉庫的互動,這樣你就可以專注於編碼了。通過Sourcetree的簡單的Git GUI來視覺化和管理你的儲存庫。
二、下載與安裝
Sourcetree有MAC版本和Windows版本,這裡以MAC版本為例。
1、下載
2、安裝
- 2.1 Sourcetree_2.6.3a.zip解壓縮後,雙擊Sourcetree.app檔案進行安裝,這裡需要註冊Atlassian賬號(可能要翻牆註冊),我已經註冊過了,這裡我選擇使用已有賬號,如下圖所示:
- 2.2 配置賬號,這裡可以跳過設定,也可以在這裡配置好GitHub賬號和密碼。如下圖所示:
- 2.3 安裝完成後介面如下圖所示:
注意
這裡我選擇使用SSH方式,沒有使用HTTPS,因此,你需要在MAC上配置生成SSH key,可以參考這篇文章配置MAC上Git安裝與GitHub基本使用。
三、Sourcetree使用
1、首先,配置GitHub賬號
因為我在安裝的時候已經配置了,在賬戶列表中有我的GitHub賬號,如下圖所示:



2、克隆遠端倉庫到本地倉庫
前提是在你的GitHub賬號上已經建立過專案。
- 2.1 通過GUI客戶端克隆遠端倉庫,配置好賬戶後,點選遠端選項卡會顯示GitHub賬戶上的專案列表,如下圖所示:
這裡我克隆LearnGit這個專案,選擇克隆在桌面Git資料夾下(如果想讓本地的資料夾名和專案名稱一樣,在Git後新增/LearnGit
,點選克隆後,就會自動建立LearnGit資料夾),如下圖所示: 克隆成功後,本地倉庫就會新增這個標籤: - 2.2 通過SSH連結克隆到本地倉庫,首先在GitHub上覆制SSH地址,如下圖所示:
然後點選新建->從遠端URL克隆,貼上地址,設定儲存路徑,如下圖所示: 到這裡,已經成功將遠端專案克隆到本地啦~
3、上傳本地倉庫到遠端倉庫
- 3.1 雙擊本地->標籤或滑鼠右鍵開啟倉庫詳情,如下圖所示:
進入詳情如下圖所示,我對一些常用板塊進行了標註,如下圖所示: - 3.2 開啟LearnGitDemo,新增程式碼,然後檢視倉庫詳情,如下圖所示:
- 3.3 提交暫存區檔案到本地倉庫,如下圖所示:
- 3.4 點選推送按鈕,將本地倉庫推送到遠端,如下圖所示:
完成之後,到GitHub上檢視,已經有本次的提交資訊了: - 3.5 拉取最新遠端倉庫更新內容,如果遠端倉庫有更新,會有數字角標提示,如下圖所示:
到這裡,就已經介紹完推送本地倉庫到遠端和拉取遠端倉庫到本地倉庫了。 - 注意 在提交本地暫存區檔案到遠端的時候,最好拉取最新的遠端倉庫,以避免起衝突。
4、Sourcetree打標籤
在這文章MAC上Git打標籤介紹了使用命令打標籤操作,Sourcetree同樣也支援打標籤操作,並且是視覺化的,操作起來很是方便。
- 4.1 Sourcetree建立標籤
滑鼠右鍵選擇新建標籤,如下圖所示: GitHub上檢視是否成功: 檢視標籤資訊,如下圖所示: - 4.2 刪除標籤
在刪除標籤v1.0.2的時候,勾選上刪除所有遠端標籤,刪除的時候本地和遠端的標籤都會被刪除,刪除完成之後,去GitHub上檢視,如下圖所示: 基本的標籤操作到這裡也介紹完了。
5、分支(Branch)
- 5.1 建立分支,如下圖所示:
建立成功過後,本地分支就多了一個develop分支,如下圖所示: - 5.2 提交改動到本地倉庫,如下圖所示:
- 5.3 在develop分支下,將改動推送到遠端,如下圖所示:
- 5.4 合併分支,首先,切換到要合併的分支master,如下圖所示:
將develop分支提交的內容合併到master分支,如下圖所示: 合併過後,需將改動內容提交到遠端,如下圖所示: 到GitHub上檢視,分支是否合併成功,如下圖所示:
四、常見問題解決
1、上傳檔案大小超過限制,不能上傳
- 1.1 終端中修改,開啟終端輸入(全域性配置:設定大小500M):
git config http.postBuffer 524288000
複製程式碼
配置之後,用一下命令檢視,就會多出http.postbuffer=524288000
這行:
git config -l
複製程式碼
- 1.2 在Sourcetree中配置當前倉庫config檔案或者直接配置git中的config檔案,新增:
[http]
postBuffer = 524288000
複製程式碼


- 1.3 通過Git擴充套件**git-lfs**(Git extension for versioning large files )提交大檔案。
//1、安裝Homebrew
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
//2、安裝git-lfs
brew install git-lfs
//3、lfs初始化倉庫
git lfs install
//4、選擇想要管理的Git LFS檔案型別(或者編輯 .gitattributes)
git lfs track "*.zip"
//5、檢視git-lfs管理的檔案
git lfs track
//6、確保.gitattributes也被追蹤
git add .gitattributes
//7、提交到遠端倉庫
git add file.psd
git commit -m "Add design file"
git push origin master
複製程式碼
參考文章: Git Large File Storage
2、warning: templates not found /usr/local/git/share/git-core/templates
出現上面原因沒有克隆成功,是因為沒有建立相應檔案,可以用命令open /usr/local/git
測試是否已經建立:
yanjiyoudeMac-mini:~ admin$ open /usr/local/git
The file /usr/local/git does not exist.
複製程式碼
沒有建立則建立:
//建立git資料夾
sudo mkdir /usr/local/git
//建立share資料夾
sudo mkdir /usr/local/git/share
//建立git-core資料夾
sudo mkdir /usr/local/git/share/git-core
//建立templates夾
sudo mkdir /usr/local/git/share/git-core/templates
//建立templates夾
sudo chmod -R 755 /usr/local/git/share/git-core/templates
複製程式碼
建立完成之後,重新克隆,就能克隆到本地了。
總結
本篇文章也只記錄了Sourcetree的一些基本操作,公司現在的專案也沒有用Git管理,自己現在用Git主要是託管自己寫的工具demo,我也不知道自己怎麼接觸到這款軟體,安裝這款軟體的時候需要註冊Atlassian 賬號,於是就找同事問翻牆的方法,翻牆過後也成功安裝了這款軟體。其中一些使用方法,也是自己慢慢摸索,可能也有不對的地方,也請諒解。通過寫這篇文章,我發現自己對Git一些概念不是很理解,對於一些常用命令也不是很熟悉,文章也沒有講到Git工作流,看來自己確實需要補一下Git命令相關的知識了,不管是使用Git命令還是GUI,都還是要多實際操作,才能更加記憶深刻。以後工作中如果有更多實際應用或使用過程遇到問題,也會在本文章中補充。有興趣的朋友可以自己下載安裝使用吧!