详解在visual studio中使用git版本系统

第一部分: 安装 git 开发工具

 

如果要使用 git 进行版本管理,其实使用 git 命令行工具就完全足够了,图形化工具(无论是 git extentions ,还是TortoiseGit),都只不过是命令行的封装。就功能而言,他们能做的,命令行全部可以做到;但命令行能做的,他们不一定可以做到。命令行更加原生、本色,跨越平台,以一当十。建议熟悉 git 命令行工具。

但图形化工具也有自己的优点,就是直观。下面推荐的组合方案是:

Git 命令行(cygwin) + Git Extensions + Git Source Control Provider

——这个组合可以彻底解决中文文件问题(包括中文文件名、目录名,以及在 github 中的正常显示)。

 

1)安装 cygwin 命令行工具

安装教程见 http://gotgit.github.com/gotgithub/10-appendix/030-install-on-windows-cygwin.html

安装过程中需要安装的软件:

git-completion: 提供 Git 命令自动补齐功能。安装该软件包会自动安装依赖的 bash-completion 软件包。

openssh:SSH 客户端,提供 Git 访问 ssh 协议的版本库。

vim:是 Git 缺省的编辑器。

 

2)安装 git extensions

【作用】

git extensions 必须依赖于命令行工具,所以第二个安装。

它安装之后不但可以使用,也自动在vs中加上插件,可以在vs中非常直观的、方便的操作。

 

【安装方法】

下载网址:http://code.google.com/p/gitextensions/downloads/list 选择GitExtensions226SetupComplete.msi那个带Complete字样的版本,它里面集成了 KDiff3 工具。

下载之后,双击安装,一路next,中间记得勾选 msysGit 和 KDiff3。

git extensions 安装之后自带一个很全面的教程。

 

【配置】

我们知道,目前git命令行工具有两种,一种是 cygwin 下命令行,一种是 msysGit 命令行,git extensions 可以配置使用哪一种命令行工具,如下图,我们选择使用 cygwin,而不是 msysGit

详解在visual studio中使用git版本系统

第一个是:“用户运行git的命令”

第二个是:全局配置文件,请点击“Change HOME”按钮,将目录改为 cygwin 的目录。

另外,git extensions 会把 cygwin 默认的编辑器 vi 改成它自己的,你可以在“全局设置”中改回来。

补充1:git extensions 的配置文件放在注册表中,如果卸载,这些配置仍然保留,你可以再次安装发生问题,可以检查注册表中相关配置项,是否有问题。

补充2:在安装 git extensions 过程中,我们勾选了 msysGit,现在安装完毕,其实你可以卸载 msysGit了,不过也可以保留,因为 msysGit 安装目录下自带 git 的所有命令的帮助文档。

 

3)安装 Git Source Control Provider

【作用】

Git Source Control Provider 是 vs 的一个扩展插件,但必须依赖于 git extensions,所以第三个安装,它的作用是,可以显示文件状态、显示文件历史等,让 vs 中文件操作更加方便。

项目网址:http://gitscc.codeplex.com/

源码:https://github.com/yysun/Git-Source-Control-Provider

视频教程:www.youtube.com/watch?v=efS0kKvfi6k

 

 

【安装方法】

在vs菜单中点击“工具”的“扩展管理器”

详解在visual studio中使用git版本系统

然后在线搜索git,出现第一个结果就是 Git Source Control Provider,然后点击“下载”

详解在visual studio中使用git版本系统

 

然后点击vs菜单的“工具”的“选项”,展开左侧的“Source Control”,在右侧的“当前源代码管理插件”中选择“Git Source Control Provider”,然后点击“确定”

详解在visual studio中使用git版本系统

 

启用 Git Source Control Provider 之后,所有文件显示出状态图标。你可以在文件上右键进入 Git 菜单进行操作。

详解在visual studio中使用git版本系统

 

下面通过创建一个全新的测试项目,来演示如何在 vs 中可视化操作 git 版本库。如果完成了基本操作,你可以参与到实际的github项目,比如"我记录开发框架"和“我记录网站综合系统(集成了“SNS/门户CMS/论坛/博客/相册/微博/wiki”等应用程序的互联网产品)”已经托管到github,网址是 https://github.com/wojilu/wojilu

一、创建版本库

 

用 vs 新建一个项目,然后点击“Git”菜单中的“Initialize new repository”

 

详解在visual studio中使用git版本系统

 

弹出窗口,让你选择需要纳入git版本管理的目录——

详解在visual studio中使用git版本系统

 

 

初始化之后,在项目目录下,出现一个 .git 的隐藏文件夹,这个文件夹就是git版本库。

详解在visual studio中使用git版本系统

和.git同处一个目录的所有文件,现在就纳入了这个版本库的范围之内。

现在你在这个目录下,可以执行 git 命令了。

 

比如下面就是在 git 命令行窗口中直接操作 git 命令,使用命令行,可以完成所有的 git 版本管理操作。

详解在visual studio中使用git版本系统

 

不过我们这一节主要讲如何在 vs 中可视化操作 git,暂时不涉及命令行管理。

 

 

二、将文件提交到版本库

 

只有将项目中的文件纳入版本库,我们才能享受到版本管理系统带来的好处,比如浏览历史版本,切换分支等……

 

1)首先,请关闭vs,然后重新打开。如果不重新打开,插件 Git Source Control 不能监控文件状态。

重新打开之后,文件显示状态符号:前面显示“+”加号,它表示这些文件的状态是“尚未纳入版本库”,需要你添加。

 

详解在visual studio中使用git版本系统

你可以点击“Git”菜单中的“Commit”进行提交

详解在visual studio中使用git版本系统

 

出现如下提交窗口

详解在visual studio中使用git版本系统

 

我们看到,这里需要提交的文件很多,但其实,很多文件是 vs 自动生成的临时文件,和项目内容没有关系,不应该纳入版本管理,比如 ***.suo 文件,这时候,我们需要将这些文件设置为“需要忽略的文件”,让 git 不理会他们。

 

2)设置忽略文件

 

请关闭上面的 commit 窗口,点击 vs 菜单 “Git”中的命令“Edit .gitignore”

 

详解在visual studio中使用git版本系统

 

出现忽略文件的编辑窗口,这个窗口左侧的内容区目前是空白,没有内容。

 

image009

 

不过右侧列举了一些常见的需要忽略的文件(默认),请点击右下侧的“添加默认的忽略项”按钮,将需要忽略的内容添加到左侧内容区,然后点击“保存”。

 

然后打开文件夹,你会看到项目中出现了一个名叫 .gitignore 的文件,它里面的内容就是你刚才保存的内容。

详解在visual studio中使用git版本系统

 

 

3)提交步骤a (加入暂存区)

 

再次点击菜单“Git”中的“Commit”提交命令,现在提交窗口中显示需要提交的文件大大减少,比如 ***.suo 文件就已经被 git 忽略掉了。

 

详解在visual studio中使用git版本系统

 

这时候如果直接点击“提交”命令,则出现如下提示窗口,意思是“还没有文件在暂存区中。需要暂存并马上提交所有文件吗?”

 

详解在visual studio中使用git版本系统

 

这句话什么意思呢?这里涉及到 Git 的一个暂存区( stage )的概念,在 Git 中有三个保存文件的区域:

1)工作目录,就是你在硬盘上操作的这些目录和文件;

2)Git 版本库,就是前面说的 .git 隐藏文件夹。版本库里面又分成“暂存区”和真正的版本库。

a)暂存区(stage),其实相当于在提交之前的一个缓冲区;

b)版本库内容区,里面存放了文件的历史内容、各个分支等……

 

总之,将一个文件提交到版本库其实就是这样的流程——

 

1.工作目录 --> (  2.暂存区  --> 3.版本库 )

 

为什么 Git 需要一个暂存区呢?这是为了方便 commit 提交过程中的反悔撤销等精细的操作。一旦加入暂存区(stage),即加入了 .git 中,但尚未提交到版本库,有了这个缓存,提交操作过程变得更加灵活。

 

总之,你的提交过程分成两步:先 add 加入 暂存区(stage),然后提交(commit)。如果用命令行表示,就是

第一步:git add fileName

第二步:git commit -m "提交描述文字"

 

这两个步骤对应到上图,就是左侧的两个窗口,左侧上部是工作目录,左侧下部是暂存区,两个窗口之间用“暂存(stage)”命令分隔,如下图。

你可以选定一个文件,点击途中左侧的箭头,将此文件加入暂存区;也可以点击右侧双箭头,将所有文件加入暂存区。

 

这个点击双箭头的命令,其实和如下 Add Files 命令(项目中右键进入Git菜单)是相同的,都是将所有文件加入暂存区。特别说明:如果文件名或目录名是中文,请使用 Add Files 命令代替此处的stage操作。

 

详解在visual studio中使用git版本系统

 

 

4)提交步骤b (真正提交commit)

 

将文件全部加入暂存区之后,如下图所示,请在右下窗口中输入提交说明信息,请务必认真填写,不要留空。每一次提交都要有明确的说明,这是以后版本浏览、管理的关键线索。

 

详解在visual studio中使用git版本系统

 

填写“提交信息(m)”之后,就可以点击“提交”按钮了,之后会弹出如下窗口,表示提交成功。

详解在visual studio中使用git版本系统

 

上面的操作非常直观,但如果用git命令行,其实只要简单的两行命令即可:

git add .

git commit -m "我的第一次提交"

 

两种方式各有优缺点。

 

这时候我们再看项目中文件的状态,文件前面的“+加号”变成了“锁”,表示文件已经成功纳入了版本库。

 

详解在visual studio中使用git版本系统

 

三、浏览版本库

 

1)准备工作,我们在版本中添加修改2个文件,然后提交2次。

 

2)如何查看历次提交记录?请打开“Git”菜单中的“Browse”命令

详解在visual studio中使用git版本系统

 

出现提交历史窗口——

详解在visual studio中使用git版本系统

 

窗口中显示了总共三次提交,在提交历史中右键,可以看到相关的操作,比如分支、标签(tag)等……

详解在visual studio中使用git版本系统

 

 

如果在项目中右键,然后点击右键菜单的“Git - History”

详解在visual studio中使用git版本系统

 

还可以图形化的查看提交历史

详解在visual studio中使用git版本系统

 

 

 

四、同步到远程服务器

 

因为 git 是分布式版本系统,每个人在自己本机上,都有一个 git 版本库的拷贝,为了和远程其他版本库同步,需要进行同步操作。

 

同步操作分成两种,一种是 pull 拉取,一种是 push 推送。

 

下面,我们将项目推送到 github 我们注册的项目上去。

 

1)我们点击 如下图的“Push”命令

 

详解在visual studio中使用git版本系统

 

出现推送窗口,接下来点击“管理远程”,进行 github 项目的添加操作——

 

详解在visual studio中使用git版本系统

 

出现远程管理窗口,请依次填写

“名称”、

“Url地址”(一般是 [email protected]:yourName/yourProject.git 格式)

 

原文连接:http://blog.csdn.net/dz45693/article/details/7740228

你可能感兴趣的:(git)