Sourcetree基本操作介紹

部門最近在做SCM遷移到Git的試點,在初步搞定了服務端之後,接下來我們就要着手解決客戶端使用的問題。

1. 概述

相較於命令行來說,GUI方式對於新手入門更簡單一些,這也是Windows能穩穩站在操作系統使用榜榜首多年的重要原因。因此本次我們也打算以GUI工具作爲Git客戶端使用的切入點。我們選擇的是 Atlassian公司出品的Sourcetree。

2. 基本操作

按照我們之前對於SVN的運用,本次我們將主要介紹如下在Sourcetree中如何進行以下操作:

  1. 拉取代碼
  2. 提交代碼
  3. 回滾代碼
  4. 解決衝突
2.1 拉取代碼
  1. Sourcetree頂部菜單欄"文件" > “克隆/新建”。
    "文件" > "克隆/新建"

  2. 在彈出的Tab頁中,選擇默認的"Clone",輸入獲取到的Git地址。
    輸入Git地址
    請注意筆者這裏使用的HTTP格式的地址,默認情況下使用這種格式每次操作是需要輸入用戶名和密碼的,因此我們採用下面這種格式來避免此類重複操作:

    # 把遠程連接例如http://xxx/yyy.git 修改爲http://username:password@xxx/yyy.git ,
    # 若是username或者password中有@,使用%40替換。
    http://username:[email protected]:790/root/firstgitlabproject.git
    
  3. 耐心等待Sourcetree拉取代碼即可。

2.2 提交代碼

在拉取完代碼,進行完BUG修復或者Feature開發之後,我們就需要將本地的修改推送到遠程Git服務器上。
1.
這裏筆者就不對GIT的基本概念進行贅述了,只需要按照以上如圖所示,即可將本地更改推送到Git服務端。

這裏將命令行和界面操作做一個簡單的對照。

命令行 Sourcetree
git add 暫存
git commit 提交
git push 推送
2.3 回滾代碼

這裏的回滾大概分爲三種:

  1. 回滾本地修改。(此時還未進行本地Commit)
  2. 回滾本地的Commit。(此時還未推送到遠程Git服務器)
  3. 回滾已經推送到Server端的Commit。
2.3.1 回滾本地修改。

這個應該是三種情形種最簡單的了,只需要在未暫存區選中對應的文件,右鍵選擇"丟棄"即可。
回滾本地修改

2.3.2 回滾本地Commit。

這一類操作只涉及到研發人員本地的操作環境,相對來說簡單很多。只需要選取所要回滾Commit之前的那個Commit節點,然後選擇下圖中的選項即可。
回滾本地Commit
彈出的交互框中,三個選項中推薦直接使用默認的混合合併,然後點擊確認即可。
在這裏插入圖片描述
以上操作即可將本地Commit回滾掉,接下來研發人員對文件進行再次的修改,而不需要增加額外的Commit。

這裏額外說明下上圖中三個選項的含義:

選項 含義
軟合併 回退到暫存區
混合合併 回退到未暫存區(默認)
強行合併 直接把提交的文件reset (最好不要用)
2.3.3 回滾Server端Commit。

這一種要稍微複雜一些。首選我們需要選中想要進行回滾的Commit節點,進行如下操作:
在這裏插入圖片描述
彈出的交互框中,確認之後將自動生成類似下圖中的Commit。
自動生成類似的Revert Commit
最後點擊左上角的"推送"鈕將自動生成的Commit推送到服務端即可。

2.4 解決衝突

日常軟件開發中,偶爾也會因爲某些原因發生代碼衝突的問題,這類問題在Sourcetree中表現如下:
在這裏插入圖片描述

解決方法:
右鍵選中發生衝突的文件,最終選擇打開外部合併工具。
在這裏插入圖片描述
這裏我們使用Beyond Compare 作爲對比工具。
在這裏插入圖片描述
人工解決完衝突之後,再次提交文件即可。(注意衝突解決完畢之後本地會生成一個後綴爲 .org 的文件,切勿提交!)

重要提示:

  1. 養成先pull,再編碼的好習慣。
  2. 養成先pull,再push的好習慣。

3. 後續

Sourcetree的操作肯定還有不少,諸如作爲Git重要亮點之一的分支等,就留待之後再介紹吧/

4. Links

  1. 你確定你能記住那麼多的git命令嗎?快試試Sourcetree吧
  2. SourceTree使用方法
  3. Office Site - get-started-with-sourcetree
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章