首页 游戏 软件 排行 专题
SourceTree客户端
  • SourceTree客户端V4.2.5 最新版

  • 大小:58.9M更新:2023-10-21 15:43
  • 类别:Mac编程软件系统:Mac

SourceTree for mac是一款开源免费的GUI版本控制工具,这款软件支持创建、克隆、提交、push、pull 和合并等操作。SourceTree for mac既有GitBash的命令行,又有EGit的图形化管理,用户界面很人性化,Eclipse+GitBash完全可以应付版本管理。

软件特色:

(1)基本的commit、pull、push都拥有,而且一旦发生错误的时候提示很准确。

(2)基本的分支管理业有,最挫的Egit删除远程分支是假删除,SourceTree完美解决了这个问题。

(3)拥有EGit中的reset(重置)和checkout(签出)两大功能,而且更加稳定。最令我怀疑的EGit的reset hard也有报错的时候,哎。SourceTree还是很稳定的。

(4)那么最近用SourceTree,发现了一个很强大的功能,就是“丢弃”这个功能,和checkout其实原理是一样的。不过图形化界面肯定比较方便了。

这里具体解释一下这个功能:

换句话说,你改了一批文件,如果想提交一部分,保留一部分,无疑命令行最麻烦。

然后你不满足,其中有几个文件你还想回滚,不想改了。那么SourceTree最容易。

这里需要注意一下命令行中checkout 是指未add的,那么可以回滚到最近的线上的commit状态。如果add之后又修改,那么会回滚到add之后的状态。

这一个原理,在Source体现的更明显,如下:

A.首先我先将修改后的personRiskBase.jsp拖到缓存区中(1)。

图(1)

B.然后再次修改,发现下面的工作区中也有这个页面了(图2)。

(图2)

C.现在就可以对此文件进行丢弃了,如果将下面文件丢弃(checkout),那么该文件将变为缓冲区中的文件,如果将缓冲区文件丢弃,实际上回到了最近的commit版本了(reset操作)。

这里注意,如果该文件commit了,那么checkout实际上回不到commit之前的版本的,需要reset。下面详细介绍一下reset命令。

(5)对于reset功能的应用。这里先普及一下Git理念的事:

A.明确一点,每一次commit都是对应着一批操作而不是对应一个文件。

这点和SVN的设计理念完全不一样。

这也造成了一个必然的结局:SVN的分支存的是一个工程,所以每签出一个分支实际上都是签出一个工程。

而Git的分支存的是修改的记录,所以每签出一个分支,实际上都是对原工程的一次覆盖。

B.在开发过程中大家可能会遇到这样一个问题:Pull之后,会出现很多别人提交的代码需要你本地再重新提交一次,那么这个原因是这样的,当然这个是我个人的理解:Git会把每一次pull结果做两个处理:

B1.如果pull之后,本地没有任何问题,那么不需要再次提交别人修改的东西了,只需要继续你的修改,push就可以了(正常情况下一版都是这样)。

B2.如果pull之后,本地有问题,大部分情况是冲突的情况,那么Git会把本次当做一次不成功的pull(那么通俗的来讲,git会认为,你认为不成功,那么你把这次版本按照你的想法改一下,再提交吧),所以你做完删减之后,需要把刚才别人的东西再提一次作为一个新的commit。

(6)对于checkout某一次提交,SourceTree也很人性化,会给出很人性化的提示。注意checkout之后,你的工程当前不属于任何分支,不过可以基于此重新创建一个分支,很方便。

sourcetree安装步骤

sourcetree是免费的Git客户端,如何利用它从gitlab上拉取下代码呢?步骤如下:
(1)、下载并安装git;
(2)、运行git,生成秘钥,
命令为:ssh-keygen -t rsa,如图:
秘钥生成的目录在你系统盘用户目录下的\.ssh\id_rsa.pub

(3)、在自己的git服务器上绑定自己git公钥;
(绑定操作:Settings --> SSH Keys --> Add key(打开本地公钥文件粘贴里面所有内容)),如图:

(4)、利用sourcetree拉取代码。
点击"工具-->选项-->一般",注意以下4个部分的设置,如图:

点击确定按钮之后,点击"文件-->克隆/新建",打开克隆tab,如图:

源路径:为要拉取项目的git路径;目标路径:为自己要存放该项目的本地资源路径;名字:为项目名字,一般会自动获取填充。
点击克隆按钮,项目开始拉取到本地。等待项目拉取完毕后,我们就可以开始自己的本地开发。

3、上传代码;
项目克隆完成之后,我们拉取的是master分支上的代码,由于master分支是主分支,项目多人开发的情况下,很容易造成冲突。
所以我们一般会在gitlab远程新建一个自己的分支,如命名为:dev。
(1)、新建自己的远程开发分支并在sourcetree中切换到该分支;如图:

双击origin--->dev,就可以切换到dev开发分支。
(2)、切换到文件状态,暂存需要提交的代码,写好描述,点击“拉取”选项(相当svn的update操作)更新代码并点击提交;
(3)、点击“推送”选项,选择正确的本地和远程分支,确定推送(相当于svn的commit操作)。
(4)、等待项目管理员将dev分支代码合并到master分支,完成从开发到上传。

备案号:

玩家留言 跟帖评论
查看更多评论
相关应用
猜你喜欢
热门推荐

开发者其他应用

最新应用
其它版本