使用TortoiseGit操作分支的创建与合并功能集合
本文在介绍了软件安装和设置后, 写了TortoiseGit 常用的一些功能, 包括:
创建新库
添加文件及文件夹
创建分支
看分支情况及修改log
比较版本差异
合并分支
其他操作: Stash; 忽略文件
本文不包括:
Git 服务器设置
Push 版本到服务器上
从其他机器上Pull 版本
解决中文字符问题
《Pro Git》和TortoiseGit 的帮助文档是两篇很不错的参考文档. 如果时间比
较紧, 可以看看TortoiseGit 的帮助文档, 对Git 的用法, 文件存储等都会有比较好
的了解.
对比常用的CVS, Git 至少有以下几个优点:
不需要连接服务器就能实现版本管理;
一个库不管有多少层目录, 只有一个管理目录
在commit 时, 可以将整个项目commit, 这样可以实现不需要添加Tag 就
保存整个版本信息.
在做Tag 时可以添加说明
安装
(1) 安装msysgit
到http://code.google.com/p/msysgit/下载msysgit, 目前能下载到的最新版本是
Git-1.7.9-preview20120201.exe
安装过程中要注意, 在设置行结束转换时, 选择Checkout as-is, commit as-is,
这样Git 就不会修改换行风格了. 其他用缺省设置即可.
安装TortoiseGit
到http://code.google.com/p/tortoisegit/下载TortoiseGit, 目前的最新版本是
TortoiseGit-1.7.7.0-64bit.msi
安装的过程中, 选择TortoisePLink
这两个软件安装完成后, 就可以开始使用了.
3. 设置
先到TortoiseGit 程序组中调用Settings 进行设置.
首先需要设置的是用户信息, 没有用户信息, 无法完成其他操作.
接着可以定制上下文菜单.
在定制时要注意, 在Set Extend Menu Item 时, 勾选的选项是不显示的选项.
隐藏的菜单在文件夹中按右键时同时按下Shift 就能显示出来.
在External Programs 中, 还可以设置比较工具等, 我设置了WinMerge 为比较
工具.
4. 日常用法
(1) 创建新库
在文件夹中按右键, 选择Git Create repository here 就可以创建库了.
在出现的窗口中, 不勾选选项, 直接按OK
在目录中就会出现一个名为.git 的隐藏文件夹, 所有库的相关内容都会
存在这个文件夹中. 以后不管这个项目添加多少个文件夹, 整个库只会有这
一个管理文件夹, 这和CVS 和SVN 有较大差异.
(2) 添加文件及文件夹
在文件夹中按右键, 选Git Commit -> “master”…
接着填写Message, 勾选Whole Project 选项, 这样Commit 的时候可以将整个
项目的信息全部Commit 上去, 可以实现不需要打Tag 就能Checkout 出每次
Commit 的内容.
接着修改foo1.txt, 再创建一个文件夹dir1, 并且放置一个foo2.txt 在dir1 目
录中, 再次commit 时, 就可以将dir1 和foo2.txt 一起加入了.
(3) 创建分支
在目录中选择TortoiseGit 再选Create Branch…就可以创建分支了.
勾选Switch to new branch, 就可以跳转到建立好的分支上.
添加一个foo3.txt 后, commit 修改.
接着通过Switch/Checkout….可以切换回master 分支
再创建一个Branch2, 在Branch2 中添加foo4.txt. 下面就可以看版本发展的
情况了.
(4) 看分支情况及修改log
通过选择Show log, 可以看分支情况和修改log
勾选All Branches 可以看到所有分支的情况.在Message 列中, 绿色的是分支, 红色的是当前工作分支.
(5) 比较版本差异
通过按Shift 和鼠标左键, 可以选中两个版本, 接着再按鼠标右键, 选中Compare revisions, 就可以比较两个revision 了.
比较主版本和Branch2, 可以发现是添加了foo4.txt
(6) 合并分支
首先切换到master 分支, 接着选Merge
就可以实现将分支合并到主版本
(7) 其他操作
a) Stash
Git 提供了一个暂存修改的功能, 称为Stash, 在一些程序进行了修改, 但还不想commit 成revision 时, 就可以将这些修改Stash 起来, 等到后面需要时再将它
们Pop 出来.
b) 忽略文件
一些编辑器在修改文件后会产生bak 文件, 一般不希望这些备份文件也加入库中, 可以选中一个.bak 文件, 然后选择Add to ignore list 中的*.bak, 这样bak 文
件以后就不会被commit 了.
忽略的文件是通过在项目的目录中添加一个.gitignore 文件实现的, 因此也要将.gitignore 加入忽略文件列表中.
[参考文献]
■ TortoiseGit 帮助文件TortoiseGit 安装目录下
■ Pro Git http://progit.org/
■ TortoiseGit 使用入门
■ Git 历险记
■ msysGit 的配置及中文支持
■ 在Windows 环境中使用版本管理工具Git
■ SSH Git Server on Windows ——在Windows 上配置Git 服务器
使用TortoiseGit操作分支的创建与合并功能集合的更多相关文章
- 使用TortoiseGit操作分支的创建与合并
第一步:创建本地分支 点击右键选择TortoiseGit,选择Create Branch…,在Branch框中填写新分支的名称(若选中”switch to new branch”则直接转到新分支上,省 ...
- git分支的创建与合并
在git中提倡使用分支,这就涉及到了分支的创建和合并.在git中我们的每次提交类似于一个链表,按照时间顺序向下排列,大约画了一个图,每个小圆圈代表一次提交,在git中有有一个主分支master,我们新 ...
- 9.Git分支-分支的创建与合并-02
在 8.Git分支-分支的创建与合并-01 主要通过一个例子介绍了分支的新建,以及在工作中,git分支的新建切换以及使用,这里主要介绍分支的合并.这里的例子和8.Git分支-分支的创建与合并-01 的 ...
- git-【六】分支的创建与合并
在版本回填退里,已经知道,每次提交,Git都把它们串成一条时间线,这条时间线就是一个分支.截止到目前,只有一条时间线,在Git里,这个分支叫主分支,即master分支.HEAD严格来说不是指向提交,而 ...
- Git:分支的创建、合并、管理和删除
了解分支 如果想实现多人协作.划出Bug区.Feature区等功能,就需要分支功能.(确实很强大的地方) 每次commit时,Git都把它们串成一条时间线,这条时间线就是一个分支.截止到目前,只有一条 ...
- git 分支的创建、合并、删除
基本概念与命令 分支(branch):每次提交,Git都把提交的内容串成一条时间线,这条时间线就是一个分支 . git 分支的创建 git branch branchName git ...
- Git 分支管理 创建与合并分支
分支在实际中有什么用呢? 假设你准备开发一个新功能,但是需要两周才能完成,第一周你写了50%的代码,如果立刻提交,由于代码还没写完,不完整的代码库会导致别人不能干活了. 如果等代码全部写完再一次提交, ...
- 4.Git分支查看&创建&切换&合并
查看分支 git branch -v # 查看分支,*代表当前所在的分支 创建分支 git branch hot-fix # 创建一个hot-fix分支,然后使用-v查看 # 可以看到除了ma ...
- SVN分支的创建,合并,与销毁和相关操作
test是分支和主干所在的文件夹,SVNTest是主干,所有的分支都放在branch里面,192.168.1.101是服务器的地址 创建分支: 把服务器中的主干复制出来到自己的分支上: svn cop ...
随机推荐
- while(cin>>word)时的结束方法
有一个要注意的地方,以前不理解在while里面用cin >> val是什么意思,用这个当条件的话,通过检测其流的状态来判断结束: (1)若流是有效的,即流未遇到错误,那么检测成功: (2) ...
- 【Android架构综述篇】之应用程序、应用程序訪问硬件的流程
对于分层的系统.刚開始认识时,从宏观的框架层面了解应用的构建过程,有助于形成自己对新系统的清晰概念. 1.Android应用程序构建框架: 这里就涉及活动.布局.注冊之间的关系.搞清了这三者.会对真个 ...
- BroadcastReceiver之实现锁屏、解锁样例
好久没有写android的小样例了,因为前几天写了一篇关于Intent.Action的文章(http://blog.csdn.net/ljphhj/article/details/38796739). ...
- [转载]打造自己喜欢的Linux桌面----archlinux
原文地址:打造自己喜欢的Linux桌面----archlinux作者:三尺椴 打造自己的Linux桌面----Archlinux 2011-01-16 文/s_cd ( 常用桌面组合:Archlin ...
- 锋利的jQuery(第二版)源码下载地址
书上给的http://cssrain.sinaapp.com无法访问 问作者邮箱要的: 第1版源码:百度云盘下载:http://pan.baidu.com/share/link?shareid=104 ...
- 【LeetCode】93. Restore IP Addresses
Restore IP Addresses Given a string containing only digits, restore it by returning all possible val ...
- C# 动态创建SQL数据库(二) 在.net core web项目中生成二维码 后台Post/Get 请求接口 方式 WebForm 页面ajax 请求后台页面 方法 实现输入框小数多 自动进位展示,编辑时实际值不变 快速掌握Gif动态图实现代码 C#处理和对接HTTP接口请求
C# 动态创建SQL数据库(二) 使用Entity Framework 创建数据库与表 前面文章有说到使用SQL语句动态创建数据库与数据表,这次直接使用Entriy Framwork 的ORM对象关 ...
- Android studio 如何让包有层次显示
Android studio中我新建的包在原来包名后面显示,而我想让包名能层次展示: 方法: 点击如图部分,在弹出框中 去掉 ”compact empty middle package“前面勾
- Unix环境高级编程(二十)伪终端
1.综述 伪终端对于一个应用程序而言,看上去像一个终端,但事实上伪终端并不是一个真正的终端.从内核角度看,伪终端看起来像一个双向管道,而事实上Solaris的伪终端就是用STREAMS构建的.伪终端总 ...
- C# 基础知识 (四).C#简单介绍及托管代码
暑假转瞬即逝,从10天的支教生活到1周的江浙沪旅游,在这个漫长的暑假中我经历了非常多东西,也学到了非常多东西,也认识到了非常多不足之处!闲暇之余我准备又一次进一步巩固C#相关知识,包含 ...