使用Git Extensions简单入门Git

使用Git Extensions简单入门Git

使用Git Extensions简单入门Git

——独立观察员 2015.11.25

前言

关于这个主题,之前我录了段视频教程,在本地看清晰度还可以,但传到优酷上就很不清晰了,即使是后来重制后还是一样不清晰,所以现在想整理成文字版。当然,大家还可以将我百度云上的视频下载下来观看,连同优酷的相关地址都附在文末了。

 

正文

说到Git呢,相信从事软件开发的都不陌生,是用于版本控制的,在全球范围内被广泛使用,相比于另一版本控制技术——SVN,似乎更受追捧一些,全球最大的代码托管平台GitHub使用的就是Git技术。

Git与SVN的最主要的区别就是,Git的代码仓库是分布式的,一般流程就是在本地拉一个服务器上仓库的拷贝,修改代码后先提交到本地仓库,然后再合并到远程仓库;而SVN的代码仓库是集中式的,一般就服务器上的一个,提交代码就是直接提交到服务器上的仓库去,这样如果网络不畅就无法提交了,那段时间就无法版本控制了。

还有一点比较明显的区别,不过我不知道我说的对不对,大家听且听之,自行判断。Git由于有本地仓库,工作目录一般就在本地仓库那里,从文件角度上看不出两个分支的文件分别在哪里,似乎工作目录下同时只存在一个分支。而SVN则能够清晰地看到哪些是主干的文件,哪些是分支的文件。

长久以来,Git都是以命令行方式使用的,而SVN在Windows上则有TortoiseSVN这样的强大的图形界面工具,这就形成了鲜明对比。对于刚入门的人,就会不由自主地偏爱上使用TortoiseSVN来使用SVN,而对Git心生敬畏。其实SVN也是可以使用命令行来使用的,而Git近年来也有了图形界面工具,包括TortoiseGit、msysGit(Git版本控制系统在Windows下的版本)的Gui、以及本文将要介绍的Git Extensions等。

我刚开始得知Git Extensions时,它是作为一款Visual Studio插件映入我眼帘的,在Visual Studio的插件库中可以下载,但好像好久没更新了(版本为2.47.03)。后来(录完视频教程之后)我才发现原来其代码维护在sourceforge网站(版本为2.48.05)。

 

一、现在我们来安装这个新版本(略去不重要的内容)

 

以下界面所示的三个工具,如果没安装过,则勾上让其安装。MsysGit为Git的Windows版本,必须要安装;Kdiff为对比/合并工具,可选安装,可以换为使用其它的相关工具;最后一个Windows Credential Store for Git用于在Windows Credential Manager中存储仓库的密码,这在老版本中没有,也安上吧。

%title插图%num

 

安装Git Extensions:

%title插图%num

 

安装KDiff3:

%title插图%num

 

安装Git:

%title插图%num

 

将Git和一些Unix工具加入运行路径中:

%title插图%num

 

跨平台项目不推荐选第三个,Windows上推荐选第一个,所以就选第一个吧:

%title插图%num

 

安装完成,Git Extensions会弹出配置界面,如果有问题,一般就是选择一下相关组件的路径即可:

%title插图%num

 

SSH客户端,OpenSSH是命令行的,PuTTY是图形界面的:

%title插图%num

 

二、接下来以使用Git@OSC网站为例

 

随便选个项目点击进入:

%title插图%num

 

点击Fork,即可克隆代码到自己的空间当中:

%title插图%num

 

然后在自己的空间即可查看:

%title插图%num

 

一般自己创建一个新分支:

%title插图%num

 

保留原有的master分支不去使用:

%title插图%num

 

因为点击那个双箭头的圈会强制从fork的源拉取代码来覆盖原有的分支:

%title插图%num

 

可以更改默认分支、设置是否使用SVN来管理等:

%title插图%num

 

配置分支保护,可将原有分支设为只读,避免自己提交代码时不小心弄混了:

%title插图%num

 

复制代码路径:

%title插图%num

 

在文件夹内右键,选择“GitExt Clone“:

%title插图%num

 

粘贴url,然后分支我们先选master的,点击克隆:

%title插图%num

 

然后可用Pull选项拉取代码到本地仓库:

%title插图%num

 

View changes选项可查看修改记录:

%title插图%num

 

可以看到此时本地的master与远程(origin)是同步的:

%title插图%num

 

使用”Git Bash Here”选项可打开一个专用的命令行窗口(Bash):

%title插图%num

 

可直接以命令行方式使用(比如查看当前是哪个分支):

%title插图%num

 

使用Checkout branch…功能可签出分支,这里我们将远程的dlgcy分支也迁出到本地:

%title插图%num

 

这样本地就和远程一样也有两个分支了:

%title插图%num

 

使用命令行也可看出:

%title插图%num

 

使用”GitExt Commit…”选项可提交修改:

%title插图%num

左上角区域放的是改动过的文件,点击紫色向下的箭头可载入单个文件或全部载入,载入到底下的提交区,右上角显示选中文件的改动内容,右下角填写改动信息,最后点击提交或提交并推送即可。

 

使用Push…选项可将本地仓库推送到远程仓库:

%title插图%num

 

会要求输入(你在oschina网站的)用户名和密码:

%title插图%num

 

切换分支就会切换代码,就有可能就会有不同了:

%title插图%num

 

切成了dlgcy分支:

%title插图%num

 

使用命令行提交更改:

%title插图%num

 

使用命令行推送更改:

%title插图%num

(由于之前将master分支设置为了只读,所以当时推送不成功;这次推送到dlgcy分支则是成功的。)

 

然后我们到网站上看一下,可以看到刚才的提交记录了:

%title插图%num

 

此时查看本地的差异是这样的:

%title插图%num

(因为本地master有修改和提交但未推送成功,本地dlgcy有修改和提交且推送成功)

 

附录

优酷地址:http://v.youku.com/v_show/id_XMTM2ODk0ODM2OA

百度云地址:http://pan.baidu.com/s/1kTzlC71

原创文章,转载请注明: 转载自 独立观察员(dlgcy.com)

本文链接地址: [使用Git Extensions简单入门Git](https://dlgcy.com/git-extensions/)

关注微信公众号 独立观察员博客(DLGCY_BLOG) 第一时间获取最新文章

%title插图%num

5条评论

新闻头条 发布于15:58 - 2017年11月1日

文章不错支持一下吧

跨境电商 发布于07:50 - 2016年2月22日

[同意] 这个学习了,谢谢分享

深圳牙科 发布于18:01 - 2016年1月4日

从这北京,绝对是黑客,我要学技术

好书网 发布于22:37 - 2015年12月7日

感谢分享、这个背景看起来别扭啊

星岩博客 发布于22:36 - 2015年11月27日

完整界面有点暗,文字看不太清,对用户不友好。

发表评论