一、SmartGit是什么?
相信各位在Linux开发环境中使用过SmartSVN的朋友们知道,SmartSVN是SVN的一个图形界面工具,使用起来方便快捷。同理,SmartGit是Git的图形工具,界面基本和SmartSVN类似。安装包如下。
http://pan.baidu.com/s/1mg3R7eS
二、SmartGit安装
1.解压文件到安装目录中,终端命令行与行 ./bin/smartgit.sh与行smartGit。
2.进入软件后,要求填写注册码license:有试用、付费、非商业用途三种,按照个人情况选择。由于SmartGit是收费软件,我们选择no-commical purposes选项。
3.SSH选择system ssh,即系统本地的密钥。SmartGit如图2.1所示
图2.1
三、SmartGit的使用
-
从GitHub中克隆(clone)版本库
步骤:工具栏点击Repository-->clone..
图3.1
在Repository URL中输入版本库地址,如图3.1所示,我的地址是Github中自己新建的一个版本库,一路next下去,当出现path设置版本库路径时候,填写本地版本库路径即可。
之后点击finish,则将远程版本库克隆到本地了。
注意:从远程版本库中克隆下来的版本只有master分支,其他分支是不可见的,需要手动建立分支并与这些分支建立关联(tracked),如图3.2所示。
图3.2
2.提交文件
在本地工作区新建文件hello.txt,随意修改,则可以在SmartGit中看到File列表中新建的文件的状态(untracked)如图3.3所示。
图3.3
右键点击,commit提交,注意这里不许要add,SmartGit自动将修改的文件add到暂存区,输入提交信息,并提交,如图3.4所示。
图3.4
commit message即提交信息,注意这里有2个按钮,commit即提交到本地版本库,commit&push提交到本地版本库并且push到远程版本库。
3.新建分支
前面说过,克隆的版本库中,本地版本库只有master分支,我们需要手动建立分支。
在Local Branches右键 add Branch添加分支,如图3.5所示。
图3.5
这里有2个按钮,Add Branch是在新建本地添加分支不切换,Add Branch & Checkout是新建分支切换到该分支。
4.分支合并
切换到当前分支,在要合并的分支上右键merge即可。
5.将本地分支与远程分支同步
在分支列表上指定分支如dev,右键Set Tracked branch 即可,此时,该分支与远程分支同步。如图3.6所示。
图3.6
这里表示dev分支有3个提交,但是没有push到origin远程版本库dev上,master分支有2个提交没有push到远程master分支上。当push之后,大于号“>”编程等号“=”。
6.内容冲突解决
当同时修改文件,并试图合并时,会发生冲突。
如图3.7所示,有2个分支branchA,branchB,模拟2个开发人员,分别修改conflict.txt文件,A先提交push,然后B再提交push,合并到master分支上时发生冲突。
图3.7
-
A输入一行branchA modify保存提交push
-
切换到branchB,修改conflict.txt文件,输入branchB modify,保存提交push。
-
分别将branchA,branchB merge到master上时,发生冲突,冲突显示如图3.8所示。
图3.8
当前HEAD指针已经指向最新版本,我们只需要将冲突的文件重新修改然后comiit&push即可。