使用 Git Extensions 简单入门 Git

2023-11-02

使用 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 中存储仓库的密码,这在老版本中没有,也安上吧。

 

安装 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 有修改和提交且推送成功)

 

附录

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

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 Git Extensions 简单入门 Git 的相关文章

随机推荐

  • zabbix监控TCP连接状态

    一 zabbix监控TCP连接状态 1 取到TCP连接状态的值 root web01 netstat antp awk NR gt 2 print 6 grep TIME WAIT wc l 可以取到TIME WAIT的个数 依次类推 可以
  • linux安装mysql-8.0.11出现错误

    linux安装mysql 8 0 11出现 2020 04 16T11 47 06 723455Z 0 Warning MY 011070 Server Disabling symbolic links using skip symboli
  • java基础经典题——猴子吃桃

    作为学java循环的经典问题 猴子第一天摘了若干个桃子 当即吃了一半 还不解馋 又多吃了一个 第二天 吃剩下的桃子的一半 还不过瘾 又多吃了一个 以后每天都吃前一天剩下的一半多一个 到第10天想再吃时 只剩下一个桃子了 问第一天共摘了多少个
  • Ubuntu系统中如何删除一个用户

    1 打开终端命令行 运用userdel命令删除指定的用户 注意要加sudo权限指令 如下图 sudo userdel ascend 2 在删除的时候一定注意是在管理员目录下的 普通的用户是没有这个权限的 3 删除指令执行完了以后怎么判断是否
  • linux桌面小程序开发日记4(pyqt5+yolov5)

    linux桌面小程序开发日记4 修改detect py文件 让yolov5连接摄像头 同时输出识别出来的内容 最后一篇博客地址 https blog csdn net Liuchengzhizhi article details 12369
  • 论穷举法破解0到6位数登录密码的可行性

    0到6位数密码含数字 字母大小写 英文符号有537412247190种可能性 千亿数量级 3998 410GB 在局域网网速 个人台式电脑情况下 java代码 httpclient 访问路由器网址一次要414ms 如果只访问头信息的话会快1
  • ROI pooling 和 ROI Align详解

    ROI Align 是在Mask RCNN这篇论文里提出的一种区域特征聚集方式 很好地解决了ROI Pooling操作中两次量化造成的区域不匹配 mis alignment 的问题 实验显示 在检测测任务中将 ROI Pooling 替换为
  • 华为OD机试(Java,JS,Python,C++)-Excel单元格数值统计

    Excel单元格数值统计 时间限制 2s 空间限制 256MB 限定语言 不限 题目描述 Excel工作表中对选定区域的数值进行统计的功能非常实用 仿照Excel的这个功能 请对给定表格中选中区域中的单元格进行求和统计 并输出统计结果 为简
  • innodb事务实现

    事务的特性 ACID 事务的类别 事务实现 redo redoLog buffer 的格式 undo 更新主键 purge group commit 因为上层的binlog和底层的redolog要保持一致 所以 事务控制语句 事务隔离级别
  • C++11标准模板(STL)- 算法(std::rotate)

    定义于头文件
  • logistics回归之sklearn中的LogisticRegressionCV

    一 Logistic回归的认知与应用场景 Logistic回归为概率型非线性回归模型 是研究二分类观察结果与一些影响因素之间关系的 一种多变量分析方法 通常的问题是 研究某些因素条件下某个结果是否发生 比如医学中根据病人的一些症状 来判断它
  • Android-打包AAR步骤以及最为关键的注意事项

    转自 https www jianshu com p f391d0a6691e 简介 最近因为项目的要求 需要把开发的模块打包成aar 供其他项目调用 在搞了一段时间后 发现这里还是有很多需要注意的地方 所以记录一下 帮助大家不要走弯路 首
  • 调试for循环的技巧

    今天用IDEA调试for循环时 断点打在了for的左边 不小心按了F9 跳到下一个断点 意外发现原来可以通过这种方式对for循环的每次循环进行调试 不必自己手动一行行调试才到下一次for循环 这对于一种场景特别适用 假设你需要查看第 5 次
  • 并发编程系列之重入锁VS读写锁

    前言 上节我们介绍了Java中的锁基础篇 也算是对锁有了个基本的认识 对锁底层的一些原理有所掌握 那么今天我们就来看看2个最常见的锁的实例应用 重入锁和读写锁 这是今天旅途最美的两大景点 是不是有点迫不及待了 OK 那就让我们一起开启今天的
  • 电磁式继电器使用注意事项

    电磁继电器的使用 1 触点通断时线圈两端会感应出较大的电动势 如果不加隔离 便很容易通过地电势将干扰引入板上其它电路 导致单片机复位 线圈控制端加光耦隔离 线圈的电源与板子的电源隔离 另外线圈两端要加续流二极管 见后说明 可选常用的1N40
  • 【计算机组成原理】16-定点数与浮点数

    一 定点数的表示方法 1 纯小数 乘以比例因子以满足定点数保存格式 2 纯整数 小数点在后面 二 浮点数的表示方法 计算机处理的很大程度上不是纯小数或纯整数 数据范围很大 定点数难以表达 1 浮点数的表示格式 科学计数法 j S 尾数 r
  • 华为人才在线--华为认证进阶路径

    华为人才在线 华为认证进阶路径网址 网址 https e huawei com cn talent cert roadmap 在这个网址可以学习华为的各类技术方向 能下载到培训教程和实验手册 以及在线学习 如学习路由交换的HCIA点击红色的
  • Numpy数组

    NumPy 最重要的一个特点是其 N 维数组对象 ndarray 它是一系列同类型数据的集合 以 0 下标为开始进行集合中元素的索引 ndarray 对象是用于存放同类型元素的多维数组 ndarray 中的每个元素在内存中都有相同存储大小的
  • 预装载功能探究一:比较/捕获寄存器预装载使能的意义

    以沁恒CH32V307VCT6芯片测试为基准 测试开发板 CH32V307V R1 1V0 以下内容均为解析调用此句代码的意义 TIM OC1PreloadConfig TIM1 TIM OCPreload Enable 第一层 解析底层代
  • 使用 Git Extensions 简单入门 Git

    使用 Git Extensions 简单入门 Git 独立观察员 2015 11 25 前言 关于这个主题 之前我录了段视频教程 在本地看清晰度还可以 但传到优酷上就很不清晰了 即使是后来重制后还是一样不清晰 所以现在想整理成文字版 当然