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文件:   

點擊“提交”

 

 

    合並成功

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM