Mercurial 使用教程_melco使用指导

「sourceTree」入门操作指南

新公司内部采用的是gitlab,今天第一次用到SourceTree,操作起来挺方便的!

SourceTree简介

SourceTree 是 Windows 和Mac OS X 下免费的 Git 和 Hg 客户端,拥有可视化界面,容易上手操作。同时它也是Mercurial和Subversion版本控制系统工具。支持创建、提交、clone、push、pull 和merge等操作。

下载安装

下载地址:
https://www.sourcetreeapp.com/

集成文件对比插件

安装对比插件

Sourcetree中集成Beyond Compare 4,当文件冲突时可以很好的解决冲突。安装过程简单不再详述。

Sourcetree中配置Beyond Compare 4

菜单栏,“工具”——“选项”,

SourceTree基本使用

用intellij可以直接和github结合使用,但是gitlib就不可以了,所以还需要用到SourceTree这个工具。

1 克隆

Git与SVN的区别

1.Git是分布式的,SVN不是,这是Git和其它非分布式的版本控制系统,例如SVN,CVS等,最核心的区别。

解释:

a Git跟SVN一样有自己的集中式版本库或服务器。但,Git更倾向于被使用于分布式模式,也就是每个开发人员从中心版本库/服务器上chect out代码后会在自己的机器上克隆一个自己的版本库。可以这样说,如果你被困在一个不能连接网络的地方时,就像在飞机上,地下室,电梯里等,你仍然能够提交文件,查看历史版本记录,创建项目分支,等。对一些人来说,这好像没多大用处,但当你突然遇到没有网络的环境时,这个将解决你的大麻烦。

b 这种分布式的操作模式对于开源软件社区的开发来说也是个巨大的恩赐,你不必再像以前那样做出补丁包,通过email方式发送出去,你只需要创建一个分支,向项目团队发送一个推请求。这能让你的代码保持最新,而且不会在传输过程中丢失。GitHub.com就是一个这样的优秀案例。

2.Git把内容按元数据方式存储,而SVN是按文件

所有的资源控制系统都是把文件的元信息隐藏在一个类似.svn,.cvs等的文件夹里。如果你把.git目录的体积大小跟.svn比较,你会发现它们差距很大。因为,.git目录是处于你的机器上的一个克隆版的版本库,它拥有中心版本库上所有的东西,例如标签,分支,版本记录等。

3.分支,该特点是Git的有一个核心功能;这个功能对开源社区的奉献很大;对项目实际开发意义很大;同一个工作目录下快速的在几个分支间切换。你很容易发现未被合并的分支,你能简单而快捷的合并这些文件。

在SVN,分支是一个完整的目录。且这个目录拥有完整的实际文件。如果工作成员想要开啟新的分支,那将会影响“全世界”!每个人都会拥有和你一样的分支。如果你的分支是用来进行破坏工作(安检测试),那将会像传染病一样,你改一个分支,还得让其他人重新切分支重新下载,十分狗血。而 Git,每个工作成员可以任意在自己的本地版本库开啟无限个分支。举例:当我想尝试破坏自己的程序(安检测试),并且想保留这些被修改的文件供日后使用, 我可以开一个分支,做我喜欢的事。完全不需担心妨碍其他工作成员。只要我不合并及提交到主要版本库,没有一个工作成员会被影响。等到我不需要这个分支时, 我只要把它从我的本地版本库删除即可。无痛无痒。

4.Git没有一个全局的版本号,而SVN有:

目前为止这是跟SVN相比Git缺少的最大的一个特征。你也知道,SVN的版本号实际是任何一个相应时间的源代码快照。我认为它是从CVS进化到SVN的最大的一个突破。因为Git和SVN从概念上就不同,我不知道Git里是什么特征与之对应。如果你有任何的线索,请在评论里奉献出来与大家共享。

5.Git的内容完整性要优于SVN:

Git的内容存储使用的是SHA-1哈希算法。这能确保代码内容的完整性,确保在遇到磁盘故障和网络问题时降低对版本库的破坏。这里有一个很好的关于Git内容完整性的讨论 –
http://stackoverflow.com/questions//git-file-integrity

代码库占极少的空间。易于代码的分支化管理。目前支持中文,已经有成熟的图形化管理界面工具,使用难度大。

最后总结一下:

SVN的特点是简单,只是需要一个放代码的地方时用是OK的。

Git代码管理平台

开源中国上的托管的代码管理平台很好用,适合管理代码,但是对于一些代码保密或者不方便放到公网上的代码来说,还是需要在自己公司的内网搭建一个Git代码管理平台。

1、Gitolite 该代码平台是基于Linux操作的,一方面搭建起来很麻烦,另一方权限控制起来麻烦,每次新来人员需要将安装Git之后的pub文件发送给管理员,这样会增加了管理员和git搭建人员的麻烦。

2、Gitblit 是一个纯 Java 库用来管理、查看和处理 Git 资料库.相当于 Git 的 Java 管理工具.git的管家.

一方面它有基于windows的安装版本,安装过程只需下一步即可,很方便。

另一方面他是一个git代码管理平台,统一管理用户,分配权限,同时可以查看版本库的tag和分支情况

原文链接:,转发请注明来源!