sourcetree 使用

一、安裝sourcetree 

1.git插件安裝 

 

兩個插件: 

msysgit是Windows版的Git,從http://msysgit.github.io/下載安裝即可 

Git—preview.exe,未找到官網版本,從網上搜索安裝包即可【推薦這個,這個能夠在win下使用git命令行】 

以上兩個插件安裝一個即可 

2.安裝sourcetree 

安裝sourcetree,下載網址:https://www.sourcetreeapp.com/download/ 先安裝git插件,sourcetree直接按照提示安裝即可 

3.配置sourcetree 

打開sourcetree,點擊“工具”>“選項”,如下圖  

“一般”配置頁面: 

除截圖中紅圈外,其他均是默認即可

 

 

“比較”配置頁面:  默認配置即可

 

“git”配置項:  “合併時不要使用快進配置項,總是創建提交”---配置項意味着每次分支合併都會創建新的提交節點,推薦這樣的使用方式  “使用git bash 作爲默認終端”–如果同時安裝了sysmgit和gitbash時,此配置項生效,建議使用gitbash

“驗證”配置頁面:  此配置項用於添加遠程服務器交互時的身份驗證,採用“賬號/密碼”方式,如果前面已經配置了公鑰私鑰訪問的方式,此配置項可以忽略

 

  二、配置gitlab

添加SSH key

 1.點擊My Profile

 

2.點擊SHH pulibc keys下面的AddPublic Keys

 

 

 

 

 3.點擊key文本框下面的 here

 

 

4.出現添加SSH 的示例

 

三、sourcetree認證配置(祕鑰和密碼方式) 
1在桌面上打開GIT BASH  終端

 

 

 

 

然後將其中第二段以後的換行縮進,然後點擊Save

 

 

5.切換到SourceTree,選擇Options 

 

 

然後在SHH Client選項中選擇OpenSSH,其他的不需要修改 

6.使用命令行 

點擊右上角的“終端”,則可以用類似於linux下的純命令行的方式,操作git倉庫,

 

 

6、賬號/密碼登陸  每次克隆倉庫時,sourcetree會要求輸入賬號密碼,錄入後會自動保存賬號和密碼,  保存位置:工具->選項->驗證,如下圖  如果要求改,點擊編輯,更新密碼  如果不需要,直接點擊刪除

7.https方式無法獲取代碼解決方法  有時發現https方式無法獲取代碼:如在sourcetree下輸入https開頭的url,獲取代碼,報錯如下圖所示:

解決方法: 

需要在git命令行下執行:gitconfig --global http.sslverify false


四、開發使用場景 

1.在gitlab中選擇一個項目,複製地址,然後clone到SourceTree中 

 

 

2.點擊Clone 

 

 

 

3.將複製的地址粘貼到Source Path中,然後將鼠標移動到Destination Path 文本框上點擊。如果出現this is a Git repository  ,表示成功,然後點擊Clone. 如果是第一次使用的話,會彈出輸入賬號密碼的框,在上面輸入你的郵箱和密碼就可以了。 

 

 

4. 生成代碼倉庫 

代碼clone下來後,如下圖所示, 

1、 是倉庫在本地的標籤,不同名稱爲不同倉庫 

2、 本地倉庫的所有分支:在clone倉庫是如果不指定checkout分支,默認本地倉庫的

分支時master,且只有這一個分支 3、 倉庫的標籤 

4、 遠程倉庫在本地的副本,每次clone一個新倉庫時,會把遠程倉庫的所有分支都獲

取到本地倉庫,如下圖所示有三個倉庫:master、develop、yunshang_feature_1

 

5將指定的開發分支獲取到本地 

 首次clone倉庫,默認本地分支時master,如下圖,master前有個小的打鉤“√”,意味着當前的本地分支是master 

 

 

 

 

 如果本次模塊開發在yunshang_feature_1上,則需要將yunshang_feature_1 從本地檢出 ,將鼠標放置遠程的yunshang_feature_1上,右鍵,點“簽出origin/yunshang_feature_1„„”

 

等待數秒,查看當前已是yunshang_feature_1分支,

 

 

 

6編寫代碼,提交版本庫  開發人員將使用自己的開發工具打開倉庫所在文件夾,進行代碼開發,在此不做說明  修改文件後,點擊左上角“提交”,如果是首次創建的文件,需要在先點擊“添加”按鈕

 

 

 

會彈出提交頁面:    在提交信息一欄,填寫提交信息,不填寫提交信息會有提示,

 

要求每次提交必須填寫

提交信息  覈對每個文件的變更內容  如果無誤,點擊右下角進行提交

 

7打標籤 

 代碼在本地提交完畢後,打上里程碑標籤  

步驟: 

 

 

 

 

 

 

 

 

 

一、選定分支 

二、打標籤,默認是代碼最新 

8、自測通過,推送至遠程yunshang_feature_1分支 

 

點擊“推送” 

 

 

 

彈出推送頁面:  勾選yunshang_feature_1,則推送至遠程的yunshang_feature_1  注意:要求推送時,本地和遠程名稱必須一致,也就是說不允許本地分支隨意推送至不同名的遠程分支;如果有推送的需求,先在本地建立相同名稱本地分支,再推送至同名遠程分支 

 

 

推送成功: 

 

 

 

 

9創建本地分支 

 情景:開發如果想更自由更方便的做一些開發或測試相關的代碼,不想污染了比較正式的開發分支,則可以在本地繼續創建分支。  本實例中,本地yunshang_feature_1是自己標準的本地開發分支,不想過度提交或者其他原因,則可以在本地yunshang_feature_1創建新的分支   操作:  選中yunshang_feature_1,點擊“分支”按鈕

 

彈出框如下:

 

 

1、 新的分支名稱  2、 創建後直接切換到這個分支  3、 可以選擇在這個分支的指定版本創建新的分支,如果不指定某個提交,則默認從 最新的提交創建分支 4、 點擊按鈕創建

分支創建成功,通過途中紅框可以看出,多個分支的最新提交版本一致

 


現在開發可以在yunshang_feature_1_test_1上隨意提交任何東西,既不會影響別人,也不會影響自己,即使代碼污染了,也可以右鍵直接刪掉此分支  

10分支合併 

 假設開發在本地yunshang_feature_1上開發了新功能,但是本次需要提交到master上      步驟如下:  1、 Yunshang_feature_1合併到本地master  2、 更新遠程master倉庫,併合併到本地master 3、 本地master分支推送到遠程master分支     操作如下  1、 Yunshang_feature_1合併到本地master:首先切換到本地master

 

 

  

本地yunshang_feature_1合併到本地master 

 

2更新遠程master倉庫,併合併到本地master 選中master,點擊右鍵,點擊紅框按鈕, 

 

 

 

 

   

選擇“好” 

 

 

提示合併成功 

 

 

3、本地master分支推送到遠程master分支 點擊“推送到origin/master(已追蹤)” 

 

 

提示推送成功  

11衝突解決 

 分支合併時會產生衝突,解決衝突辦法和svn一致:  分支A和分支B都是從master同一次提交創建而來;    衝突解決方法:   分支A合併到分支B,產生衝突,找出衝突文件,將A中衝突內容改成和B一致後,將修改內容再次提交到B

此時分支A的info文件內容是:     

 

支B的info文件內容    

 

 合併操作: 

1、 切換版本庫至分支B

 2、 合併分支A到B  

 會彈出衝突提示:   

  衝突的內容提示: 
1、 本次合併產生一條新的提交記錄 
2、 顯示出本次合併產生的衝突文件,合併量大時可能不止一個
3、 顯示當前衝突文件的衝突內容,途中顯示的衝突內容與上文分支內容一致

 

 

    打開衝突文件查看,和sourcetree界面顯示一致:

      3、 衝突解決方法  目前看,當前的檢出版本是分支B(注意,由於衝突的存在,檢出的分支已經不可切換了,不信可以嘗試下) 將B中與A衝突的文件內容,改成和A一致;去掉顯示的”<<<<<<<<<<<<”、“=========”和”>>>>>>>>>”等提示符,再在分支B中重新提交。 B分支修改後info文件:   

點擊“提交”

 

 

    合併成功

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章