使用Git Extensions简单入门Git
前言
关于这个主题,之前我录了段视频教程,在本地看清晰度还可以,但传到优酷上就很不清晰了,即使是后来重制后还是一样不清晰,所以现在想整理成文字版。当然,大家还可以将我百度云上的视频下载下来观看,连同优酷的相关地址都附在文末了。
正文
说到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中存储仓库的密码,这在老版本中没有,也安上吧。
安装Git Extensions:
安装KDiff3:
安装Git:
将Git和一些Unix工具加入运行路径中:
跨平台项目不推荐选第三个,Windows上推荐选第一个,所以就选第一个吧:
安装完成,Git Extensions会弹出配置界面,如果有问题,一般就是选择一下相关组件的路径即可:
SSH客户端,OpenSSH是命令行的,PuTTY是图形界面的:
二、接下来以使用Git@OSC网站为例
随便选个项目点击进入:
点击Fork,即可克隆代码到自己的空间当中:
然后在自己的空间即可查看:
一般自己创建一个新分支:
保留原有的master分支不去使用:
因为点击那个双箭头的圈会强制从fork的源拉取代码来覆盖原有的分支:
可以更改默认分支、设置是否使用SVN来管理等:
配置分支保护,可将原有分支设为只读,避免自己提交代码时不小心弄混了:
复制代码路径:
在文件夹内右键,选择“GitExt Clone…“:
粘贴url,然后分支我们先选master的,点击克隆:
然后可用Pull选项拉取代码到本地仓库:
View changes选项可查看修改记录:
可以看到此时本地的master与远程(origin)是同步的:
使用”Git Bash Here”选项可打开一个专用的命令行窗口(Bash):
可直接以命令行方式使用(比如查看当前是哪个分支):
使用Checkout branch…功能可签出分支,这里我们将远程的dlgcy分支也迁出到本地:
这样本地就和远程一样也有两个分支了:
使用命令行也可看出:
使用”GitExt Commit…”选项可提交修改:
左上角区域放的是改动过的文件,点击紫色向下的箭头可载入单个文件或全部载入,载入到底下的提交区,右上角显示选中文件的改动内容,右下角填写改动信息,最后点击提交或提交并推送即可。
使用Push…选项可将本地仓库推送到远程仓库:
会要求输入(你在oschina网站的)用户名和密码:
切换分支就会切换代码,就有可能就会有不同了:
切成了dlgcy分支:
使用命令行提交更改:
使用命令行推送更改:
(由于之前将master分支设置为了只读,所以当时推送不成功;这次推送到dlgcy分支则是成功的。)
然后我们到网站上看一下,可以看到刚才的提交记录了:
此时查看本地的差异是这样的:
(因为本地master有修改和提交但未推送成功,本地dlgcy有修改和提交且推送成功)
使用Git Extensions简单入门Git的更多相关文章
- vs git extensions简单使用方法
一.准备工具 0.下载Git windows版本下载 http://git-scm.com/download 1.下载Git Extensions.地址http://sourceforge.net/p ...
- Git操作简单入门及相关命令
说明:本文内容主要来自文末参考链接内容,此文仅作学习记录.如有转载,请到文末参考链接处. 1 基本概念理解 1.1 Git介绍 Git是分布式版本控制系统. 集中式VS分布式,SVN VS Git. ...
- Github的使用以及Git的简单入门 - 课程作业三
GitHub创建项目 登录GitHub,在个人主页创建项目(repository) 创建后会生成2个文件,README.md和.gitignore.如图 创建本地仓库 如果是第一次使用git的话,需要 ...
- git之简单入门及操作~
看了bili的教程,https://www.bilibili.com/video/av23853294?from=search&seid=3300012850779227291 特此整理下. ...
- GIT Bash 简单讲解-git如何推/拉代码
GIT Bash 简单讲解 一. 注册/登录GIT账号 注册(或者登录) GitHub地址:https://github.com/ 注册不做详细的讲解,按照注册指示进行注册就可以 ...
- (转)初学Git及简单搭建git服务器和客户端
终于搞定,mac自己作为git服务器,mac也是客户端,如何免登 从另外一个linux服务器的上传公钥得到提示 ssh-copy-id -i ~/.ssh/id_rsa.pub git@192.168 ...
- Git Extensions 和 Tortoisegit 到底是什么?Git For VS(Git For Visual Studio)(Visual Studio 中使用 Git)
前言: 我们使用 Git 作为版本控制的朋友们,一定都熟悉 Git Extensions 和 Tortoisegit 两款工具,但是对于初学者,可能就不那么了解了. 当然如果有幸,你接触过 SVN , ...
- 基于GitLab与Git Extensions搭建版本控制工具
1.背景 大家知道GitHub是现在非常流行的代码托管工具,但是如果有些项目不想开源的话,则需要付费,因此萌生了自己搭建一个Git的版本控制工具,供内网使用.GitLab则是个好的选择,但是GitLa ...
- 『现学现忘』Git分支 — 38、Git分支介绍
目录 1.Git分支简介 2.Git分支与SVN分支的区别 3.工作中为什么要使用分支 4.Git分支管理的好处 1.Git分支简介 几乎所有的版本控制系统都以某种形式支持分支. 使用分支意味着,你可 ...
随机推荐
- OKR 与 KPI
作者:Cat Chen链接:https://www.zhihu.com/question/22478049/answer/23833548来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业 ...
- windows 函数
数组清零 ::ZeroMemory(首地址,大小);
- wind量化交易
https://www.joinquant.com/study?f=home&m=memu https://www.v2ex.com/member/mushroomqiu https://sa ...
- EBR内容解析
原先博客放弃使用,几篇文章搬运过来 EBR(Extended Boot Record)即扩展分区引导记录.类似于主引导记录MBR.因为MBR的四条分区信息的限制,可以使用EBR方便扩展. 它的结构与M ...
- Maths | 为什么点积等价于投影后的乘积
目录 1. 复习点积 2. 点积的对称性 3. 矩阵与变换的关系 4. 一维矩阵也是一种线性变换 5. 最终解释:为什么是投影 先上结论: \(\boldsymbol v\)和\(\boldsymbo ...
- 常用string格式化
1.格式化货币(跟系统的环境有关,中文系统默认格式化人民币,英文系统格式化美元) string.Format("{0:C}",0.2) 结果为:¥0.20 (英文操作系统结果:$0 ...
- WITH RECOMPILE和OPTION(RECOMPILE)区别仅仅是存储过程级重编译和SQL语句级重编译吗
在考虑重编译T-SQL(或者存储过程)的时候,有两种方式可以实现强制重编译(前提是忽略导致重编译的其他因素的情况下,比如重建索引,更新统计信息等等), 一是基于WITH RECOMPILE的存储过程级 ...
- Jquery - 添加属性、添加class、添加Css
一.设置属性: 方式一 jQuery 代码: $("img").attr({ src: "test.jpg", alt: "Test Image&q ...
- spring框架学习笔记3:使用注解代替配置文件
1.导入context约束:spring-context-4.2.xsd 2.design模式打开xml配置文件,右键edit namespaces,点击add添加 完成后应该是这样: 配置文件中这样 ...
- TCP/UDP OSI_layer 4
这篇文章主要复习OSI模型中的第4层:传输层,主要包含两个协议TCP .UDP. Transport 传输层 多路复用: 一个协议为多个上层协议或者多个上层应用提供一个统一的服务 TCP/UDP 通过 ...