之前一直用SVN做项目开发,确实感觉这些版本控制工具非常实用,尤其是在一个团队开发项目的时候。最近偶然看到一个新的版本管理工具Git,它本来是Linux下的基于Linux内核的版本控制工具,据说用起来比SVN既快,又功能强大,现在在Windows下又有了TortoiseGit,是SVN小组开发的基于Git的在Windows下的版本。网上找了些资料看了看,发现确实很牛很强大啊,资料汇总如下

优酷上有关于TortoiseGit的安装方法和基本使用技巧,介绍的还行,但先别急着按里面说的安装,有注意的地方后面一个资料里会提到http://www.youku.com/playlist_show/id_5227985.html

介绍为什么要用Git取代SVN,可以简单看一下Git的优点http://www.joomlagate.com/article/joomla-review/why-subversion-will-be-replaced-by-git-for-version-control/

这个是介绍如果不想放弃SVN,可以SVN为主,Git为辅的方法,所谓鱼和熊掌兼得http://rubynroll.iteye.com/blog/203133

关于TortoiseGit的安装方法,这里介绍的非常详细,注意事项等各种截图,可以按着一步一步来http://www.cnblogs.com/qiantuwuliang/archive/2010/12/29/1920653.html

注意事项就是,不要让Git往windows右键菜单里添加菜单项,因为TortoiseGit会产生的,设置如下

还有一个就是如下设置,有人建议使用第一个,否则可能引起与windows的不兼容等问题

还有下面的选项,网址上选了第三个,这样Git就不会改变换行风格了,但从它的解释看,第一个更适合扩平台操作,不过也没关系,这个似乎可以在后面安装完后修改

然后就是TortoiseGit的安装了,有一个要注意的就是下面这个选项,选第一项就行了,关于这个在http://blog.csdn.net/gracioushe/archive/2010/09/30/5915396.aspx有解释,摘抄如下:

TortoiseGit 可以支持 SSH 加密方式的“上传”,早期版本是借助另一款专门实现
SSH 传输的开源软件 Putty 来实现,用户必须另外安装
Putty,然后在 TortoiseGit 的设定选项中给出 Putty 的可执行文件位置(例如 C:Program
FilesPuttyplink.exe)。现在最新的 TortoiseGit 已经自带了
TortoisePlink.exe(在右键菜单中 TortoiseGit -> Settings
-> Network -> SSH ->
SSH client)。

TortoisePlink.exe 实际上是 Putty 的 Plink.exe 文件的一个衍生产品,功能上比 Putty
可能要差一些。如果你喜欢 SSH 方式,那么还是建议你安装 Putty —— 没准你的电脑上早就安装了。

提示:通过 SSH 方式访问远程服务器还需要认证密钥(Putty Key)文件,每一个服务器都不一样。请参看 Putty
的相关文档
,本文不再赘述。

不过别担心,我们只想通过 TortoiseGit 来下载软件最新版本,就不需要搞清楚这个 Key
是什么,怎么用,一样能达到目标。

安装完后会要求重启。

然后就是关于TortoiseGit的设置和使用了,可以参考http://www.cnblogs.com/qiantuwuliang/archive/2010/12/29/1920723.html

这里是有关TortoiseGit的入门及它的一些版本管理的思想,感觉几张图给的挺好的(里面介绍的基础命令感觉不用管,反正使用的也是图形界面)http://hi.baidu.com/eehuang/blog/item/37af8d54242d6351564e00b5.html

下面把它介绍基于git的合作开发的部分拿来摘抄一下:

对于酷讯来说,当我们采用了Git,如何进行合作开发呢? 具体步骤如下:
3.1   获取最新代码

酷讯会准备一个中心git代码库。首先,我们将整理好的代码分模块在git中心库中建立git库。并将文件add到中心库中。
接下来,开发者通过git-clone将代码从中心库clone到本地开发环境。
对于较大的项目,我们还建议每个组选择一个负责人,由这个负责人负责从中心库获取和更新最新的代码,其它开发者从这个负责人的git代码库中clone代码。此时,对开发者来说,这个负责人的git库就是中心库了。

3.2 开发者在本地进行迭代开发

当用户将代码clone到本地后, 就可以进行本地的迭代开发,建议用户不要在master分支上开发,而是建立一个开发分支进行开发。
在本地开发中,用户可以随意的创建临时分支,随意commit。

3.3   开发者请其它同事进行code
review

当本地开发完毕,可以请其它同事进行code review。过程为:
1.
user2通通过git-pull命令,将开发者(user1)的开发分支(dev)pull到user2本地的一个tmp分支,并切换工作分支到该分支上进行code
review。
2. 完成code review后, user2切换回其原有开发分支继续开发,并告知user1已经修改完毕。
3. User1将user2的tmp分支git-pull到本地tmp分支,并和dev分支进行merge。最终得到一个code
review后的dev分支。
   
当然,user2也可以直接坐在user1旁边在他的代码上进行review。而不需要走上述步骤。(图中第7步,不是git-pull,而是直接在dev分支上和user1边review边modify)

3.4  
和中心库进行代码合并

使用过CVS的人都知道, 在commit之前,都要做一次cvs update,以避免和中心库冲突。Git也是如此。
现在我们已经经过了code review, 准备向中心库提交变化了, 在开发的这段时间,也许中心库发生了变化,
因此,我们需要在向中心库提交前,再次将中心库的master分支git-pull到本地的master分支上。并且和dev分支做合并。最终,将合并的代码放入master分支。

如果开发过程提交日志过多,可以考虑参照2.10节的介绍做一次git-reset。
   
此外,如果发现合并过程变化非常多, 出于代码质量考虑,建议再做一次code review

3.5  
提交代码到中心库

此时,已经完全准备好提交最终的代码了。 通过git-push就可以了。

3.6  
合作流程总结

   
大家可以看到,使用git进行合作开发,这一过程和CVS有很多相似性,同时,增强了以下几个环节:
1.      
开发者在本地进行迭代开发,可以经常的做commit操作且不会影响他人。
而且即使不在线也可以进行开发。只需要最后向中心库提交一次即可。
2.      
大家都知道,如果CVS管理代码,由于我们会常常做commit操作。但是在commit之前cvs
update时常会遇到将中心库上的其它最新代码checkout下来的情况,此时,一旦出现问题,就很难确认到底是自己开发的bug还是其它用户的代码带来了影响。
而使用git则避免了用户间的开发互相影响。
3.      
更有利于在代码提交前做code review。 以往用cvs, 都是代码提交后才做code view。如果发生问题,
也无法避免服务器上有不好的代码。 但是用git, 真正向中心库commit前,都是在本地开发,可以方便的进行code review,
然后才提交到中心库。更有利于代码质量。而且, 大家应该可以感到,使用git的过程中,更容易对代码进行code
review,因为影响因素更小。
4.      
创建多分支,更容易在开发中进行多种工作,而使工作间不会互相影响。 比如user2对user1的代码进行code
review时,就可以非常方便的保留当时的开发现场,并切换到user1的代码分支,在code
review完毕后,也可以非常方便的切换会曾经被中断的工作现场。

诚然,带来这些好处的同时,确实也使得操作比CVS复杂了一些。但我们觉得和前面所能获得的好处相比,这些麻烦是值得的。
当大家用惯了之后会发现,这并不增加多大的复杂性, 而且开发流程会更加自然。请大家多动手,多尝试! 去体验git的魅力所在吧!let’s
enjoy it!

另外还有一个中文教程,貌似是Linux下的,这里收藏一下链接吧http://www.linuxsir.org/main/doc/git/gittutorcn.htm

 青春就应该这样绽放  游戏测试:三国时期谁是你最好的兄弟!!  你不得不信的星座秘密

[转载]TortoiseGit安装与使用的更多相关文章

  1. TortoiseGit安装详解

    一:写该文章目的 最近换了一份新工作,新公司的源码管理都是使用GIT,习惯了之前的TFS和SVN进行项目源码管理和团队开发,第一次使用GIT进行团队开发和源码管理,颇有一些不习惯,花了一天时间终于把G ...

  2. TortoiseGIT安装过程及问题

    1,安装Git.一路默认 2,安装TortoiseGit,一路安装完毕.重启电脑. 3,配置TortoiseGit.这是最重要一步. 配置 remote,即远程地址,用于以后pull 或 push操作 ...

  3. TortoiseGit安装与配置

    TortoiseGit 简称 tgit, 中文名海龟Git. 海龟Git只支持神器 Windows 系统, 有一个前辈海龟SVN, TortoiseSVN和TortoiseGit都是非常优秀的开源的版 ...

  4. TortoiseGit 安装和使用的图文教程

    TortoiseGit.SourceTree都是Windows下不错的Git客户端工具,下面介绍一下TortoiseGit安装和使用的方法. 安装TortoiseGit并使用它需要两个软件:Torto ...

  5. TortoiseGit安装和使用的图文教程

    ortoiseGit是Windows下不错的一款Git客户端工具,在Mac下推荐使用sourcetree.下面就介绍一下TortoiseGit安装和使用的方法. 安装TortoiseGit并使用它需要 ...

  6. TortoiseGit安装教程

    TortoiseGit 是Windows下的可视化Git界面. 下载Git 网站地址: http://code.google.com/p/tortoisegit/ 安装前必须装上msysgit才能在W ...

  7. tortoisegit安装使用

    git的使用越来越广泛 使用命令比较麻烦,下面讲解一下tortoisegit的使用 先下载安装git(msysgit)和tortoisegit,安装后提示重启电脑,不解释 1.找一个文件夹做仓库 这里 ...

  8. TortoiseGit安装与配置(转)

    TortoiseGit 简称 tgit, 中文名海龟Git. 海龟Git只支持神器 Windows 系统, 有一个前辈海龟SVN, TortoiseSVN和TortoiseGit都是非常优秀的开源的版 ...

  9. git + tortoisegit安装及配置

    1. 下载Git-2.6.3-64-bit.exe 2. 安装Git-2.6.3-64-bit.exe,安装时可全部默认配置(安装路径可选) 3. 下载TortoiseGit-1.8.16.0-64b ...

随机推荐

  1. Windbg命令学习15(bp bm bu bl bc ba断点)

    以下以skinhgy为例,windbg附加运行 1. bp 命令是在某个地址下断点, 可以 bp 0x7783FEB 也可以 bp MyApp!SomeFunction . 对于后者,WinDBG 会 ...

  2. Restore IP Addresses leetcode java

    题目: Given a string containing only digits, restore it by returning all possible valid IP address com ...

  3. AOP AspectJ 字节码 语法 MD

    Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina ...

  4. 超酷实用的jQuery焦点图赏析及源码

    焦点图应用在现代网页中使用十分广泛,有注重简单小巧的,也有注重华丽美观的,大部分jQuery焦点图都可以滑动和切换图片,并且在切换图片时产生不同的动画特效.今天我们要分享一些超酷而且实用的jQuery ...

  5. HTML5读取本地文件

    本文转自:转:http://hushicai.com/2014/03/29/html5-du-qu-ben-di-wen-jian.html感谢大神分享. 常见的语言比如php.shell等,是如何读 ...

  6. 下周二推出“音视频技术WebRTC初探”公开课,欢迎捧场!

     下周二推出"音视频技术WebRTC初探"公开课,欢迎捧场! 公开课课程链接:http://edu.csdn.net/huiyiCourse/detail/90 课程的解说资料 ...

  7. How to Redirect in ASPNET Web API

      You could set the Location header: public HttpResponseMessage Get() { var response = Request.Creat ...

  8. Tensorflow高速入门2--实现手写数字识别

    Tensorflow高速入门2–实现手写数字识别 环境: 虚拟机ubuntun16.0.4 Tensorflow 版本号:0.12.0(仅使用cpu下) Tensorflow安装见: http://b ...

  9. 我不是学Java的!我不是学Java的!我不是学Java的!。。。。【自我催眠中】

    我不是学Java的!我不是学Java的!我不是学Java的!....[自我催眠中]

  10. mysql存储过程,游标实例

    CREATE DEFINER=`root`@`%` PROCEDURE `vir`.`task_payment_byonlinedown`()begin declare _mobile varchar ...