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之后,你的工程当前不属于任何分支,不过可以基于此重新创建一个分支,很方便。
安装好软件后,打开软件拉取服务器端源代码
source path 是源代码托管地址.(写入地址后回车会提示输入帐号密码)
destination path 是本地源代码存储目录.
如果你克隆源代码时遇到了下面的错误:
abort: no compatible bindings available:
Subversion 1.5.0 or later required, but no bindings were found
Subvertpy 0.7.4 or later required, but not found
Please install either Subvertpy or the Subversion Python SWIG bindings!
需要你安装 Subvertpy ,如何安装?用神奇的 brew (如果你还没有安装brew ,请google 后自行解决)
brew install --with-python subversion
就是这么简单的一句命令,你就可以安心吃下午茶了.
等到安装结束后,记得敲入小面一句命令
sudo sh -c 'echo /usr/local/lib/svn-python > /Library/Python/2.7/site-packages/subversion.pth'
ok,需要的依赖环境配置好了,重新输入 source path 回车获取一次代码吧.
拉取成功!
开发者其他应用
Valentina Studio多数据库管理81.2M0人在玩ValentinaStudio多数据库管理是极为优秀的Mac数据库管理的软件,对于Mac的编程的相关人员来说能够辅助的管理自身数据库当中的内容,让你对自身的数据以更好的方式
下载海龟编辑器Mac版284M94人在玩海龟编辑器Mac版是一款儿童的Python编辑器软件,以孩子更能够接受的方式来进行编程,海龟编辑器Mac版界面和操作内容上面都十分的偏向小学生
下载Navicat Premium汉化版229.7M122人在玩NavicatPremium汉化版是Mac上面非常强悍的数据管理的软件,在Mac和Windows上面都有着非常好的评价的数据管理的软件,满足用户对于各种数据的管理的需求,在Mac上
下载CodeRunner104.5M293人在玩CodeRunner是一款编程类型的软件,这款支持多种开发语言的编程软件能够让用户在Mac上面完成属于自己的代码编辑方面的内容,总共支持200多种语言上面的高亮
下载Apifox(API接口调试工具)255.9M79人在玩Apifox对API的接口进行调试,保证你的API能够顺利的在软件当中得到运用,改变传统的调试工具将让调试变得更为的轻松,编程人员能够在使用这款软件的条件下快速
下载SQLPro for SQLite最新版29.3M1人在玩SQLProforSQLite最新版是一款数据库管理类型的工具软件,这款数据库管理的软件方便用户来完成对于数据库上面的管理,满足用户对于数据库管理上面的需求,如果你有
下载valentina studio pro最新版52M6人在玩valentinastudiopro破解版是一款专为macOS系统开发的一款数据库编辑软件,在valentinastudiopro破解版中用户可以进行一系列免费的文件管理以及数据库编辑体验
下载Dash(API文档和代码片段管理)18.7M3人在玩Dash是一款非常全能的代码管理器的工具,直接的浏览各种api还有代码上面的内容,对于各种数据库相关方面的内容有着需要的可以尝试一下这款工具,算是在Mac上面AP
下载鲸鱼积木编程std(标准版)Mac版149.1M3人在玩鲸鱼积木编程std(标准版)Mac版是一种充满想象力的创造体验积木编程学习软件,帮助儿童开启对编程的强烈兴趣,编程课程安排合理,可轻松入门编程学习、激发编程兴
下载BetterTouchTool鼠标触控板增强34.5M895人在玩BetterTouchTool是一款能偶增强你MAC上面触控板功能的软件,让用户能够用更多的方式来实现自定义的触控板,按照自己所喜欢的需求来进行触控板上面的自定义
下载
支持( 0 ) 盖楼(回复)
支持( 0 ) 盖楼(回复)