|
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是一款非常优秀的版本控制软件系统^_^
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-11-28 06:50
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社