李雷廷的个人博客分享 http://blog.sciencenet.cn/u/llt001

博文

SourceTree vs GitHub Desktop

已有 17123 次阅读 2015-11-26 21:55 |系统分类:科研笔记

SourceTree和Github Desktop都是管理git代码仓库(http://www.git-scm.com)的图形化界面。最近发现SourceTree还是蛮好用的,因此与Github Desktop做一些比较。

SourceTree(https://www.sourcetreeapp.com)是Atlassian旗下的一款免费的git客户端软件。我最先知道这个软件,是在大概二三年前,在Mac下的App Store中,看到SourceTree总是排在开发者工具分类目录下的免费榜前十名。当时我安装了一下,发现不明白是什么软件,后来也就没有再关注了。

从今年开始,我学会了git的用法,在github网站上开了账户,开始git的管理下coding,并最后成为了重度git依赖者。对于不了解git的版本控制原理,也没有使用经验的人来说,很难掌握命令行下的git命令的用法。幸好github网站提供了一个客户端软件GitHub Desktop(https://desktop.github.com)。这个客户端软件还是做的还是蛮漂亮的。虽然一开始我也想过一个很傻的问题,比如:为什么在这个客户端软件上不能看到我的全部代码?后来终于还是掌握并理解了软件的用法。GitHub Desktop会管理一个个的git代码仓库——某个文件夹,只要检测到代码的任何变动,比如改了一个变量名,加了一个文件,在软件中就会显示代码仓库中哪个文件、哪一行发生了变化,并通过颜色标记出增删的内容;然后通过commit 按钮,记录并提交下这次的代码改动到代码仓库中。通过这样每修改一次代码、做一次记录的方式,达到对代码的版本控制目的。

通过了解GitHub Desktop客户端软件的用法,逐渐理解了git的原理和基本逻辑,并催生了一些客户端软件无法完成的需求,比如删除一个commit记录。在客户端软件上是无法删除commit记录的,不过这个需求并不是不可能完成的,要相信Linus大神(git软件的开发者,兼Linux操作系统的开发者)的设计——不过需要用命令行来完成。

在此基础上,我学了好多git 命令的用法,比如:

git clone URL 下载git代码仓库

git commit -a 记录代码更改内容

git push 提交commits到远端网站,比如提交更改到github网站

git pull 让本地的git代码仓库与远端的代码仓库同步,可以理解为从远端网站拉下来新的commits

最近,我尝试了另一个github同类型的网站,苦于GitHub Desktop只能管理github网站上的代码,好像不适用于其它网站,我才找到了SourceTree,并发现了SourceTree相对于GitHub Desktop好像功能更强大。比较明显的一点是,在SourceTree中,存在一个Stage Hunk的功能,而GitHub Desktop是没有的。Stage Hunk的意思是,对于一个文件有多处改动的情况,SourceTree会把这些改动分割为不同的代码块,并可以分别提交——也就是说,同一个文件的多处改动,可以多次commit,而在GitHub Desktop中以文件为单位commit,没有做细分。但是,另一方面,毕竟GitHub Desktop依托于最流行的git网站github,因此软件界面还是做得相当简洁、漂亮。

总的来说,SourceTree和GitHub Desktop都是很优秀的git客户端软件。最重要的,git是一款非常优秀的版本控制软件系统^_^



https://blog.sciencenet.cn/blog-656335-938894.html

上一篇:利用json_pp程序转换JSON格式为Data::Dumper格式
下一篇:利用Perl计算相关性系数的P值
收藏 IP: 218.2.227.*| 热度|

0

该博文允许注册用户评论 请点击登录 评论 (0 个评论)

数据加载中...
扫一扫,分享此博文

全部作者的精选博文

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-3-28 21:20

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部