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

点击“提交”

 

 

    合并成功

 

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