Fugitive.vim 使用教程二

deran pan, vim-005

原网页:http://vimcasts.org/episodes/fugitive-vim-working-with-the-git-index/

:Gstatus窗口

  :Gstatus命令会打开一个窗口显示当前 git 仓库的状态,其内容和 git status 命令所展示的内容相一致。但是 :Gstatus 所打开的窗口将会提供更多的交互操作。相关操作命令如下:

命令 作用
- 添加/删除文件
\ 向下分割一个窗口打开当前文件
P 为当前文件运行 “git add -patch”
C 调用 :Gcommit

  使用实例如下:

使用 git index

  git index 就是最近一次提交的文件版本,也是下一次 commit 提交的地方。详细介绍可见 the git index。在 VIM 命令中键入 :Gedit :path/to/file 就可以打开任意以文件 index 版本。键入以下命令可以打开当前文件的index版本(index版本,多用于下面即将介绍的 Gdiff 文件比较)。

  • :Gedit
  • :Gedit :0
  • :Gedit :%

:Gdiff 使用

  在 git 仓库目录中打开用vim打开一文件,并在 vim 命令行中键入没有任何参数的 :Gvdiff 命令。fugitive 将会展现出一个类似于 vimdiff 的表现形式来比较当前文件和当前文件的 index 版本。Gvdiff 将会以垂直分屏的方式打开另一个窗口,index版本的文件位于左边,当前工作文件位于右边。如下图所示:

:Gread / :Gwrite 与 :diffput / :diffget

  :Gread / :Gwrite 命令都可以添加(git add)或重新检出(git checkout)一个文件,根据它们所运行的窗口不同而不同。对 Index 文件进行写入(:w)操作就相当于就行 git add 操作。总结如下表所示:

命令 当前窗口 效果
:Gwrite Working file stage file
:Gread Working file checkout file
:Gwrite Index file checkout file
:Gread Index file stage file

  :diffget / :diffput 与 :Gread / :Gwrite 类似。 :Gread / :Gwrite 是对整个文件进行操作。即用 working file 覆盖 index File 或者是用 index file 覆盖 working file。 而:diffget / :diffput可以将Working file 中部分更改提交到 index file 再对 index file 进行 :w 操作就可以将部分刚给提交到暂存区(stage),其操作类似于 git add –patch。实例如下图所示:

Fugitive.vim 使用教程二相关推荐

  1. vi/vim使用教程

    一.vim简介 Vim是从 vi 发展出来的一个文本编辑器.代码补完.编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用. 简单的来说, vi 是老式的字处理器,不过功能已经很齐全了,但是还 ...

  2. Docker教程(二) Docker环境安装

    Docker教程(二) Docker环境安装 本文链接:https://blog.csdn.net/yuan_xw/article/details/77248243 Docker教程(二) Docke ...

  3. Homebrew进阶使用教程(二)-用一个命令行天气客户端构建自己的仓库

    [homebrew 系列文章] HomeBrew常规使用教程 Homebrew进阶使用教程(一) Homebrew进阶使用教程(二)-用一个命令行天气客户端构建自己的仓库 Homebrew进阶使用教程 ...

  4. 黄聪:Microsoft Enterprise Library 5.0 系列教程(二) Cryptography Application Block (高级)

    原文:黄聪:Microsoft Enterprise Library 5.0 系列教程(二) Cryptography Application Block (高级) 本章介绍的是企业库加密应用程序模块 ...

  5. Konstrukt PHP REST框架 教程二

    Konstrukt PHP REST框架 教程二 入门 - 第2部分 在本教程中,我们假设你已经完成了第一个教程,因为它的基础上产生的代码从该. 谈判的Content-Type 在大多数情况下会发出一 ...

  6. Mac下Android studio 之NDK配置教程(二)

    Mac下Android studio 之NDK配置教程(二) (一)简述 从上一篇NDK配置教程(一) 中,我 简单的阐述了MAC下NDK的基本解压和环境配置步骤. 本节我讲详细描述android s ...

  7. python elasticsearch 入门教程(二) ---全文搜索

    python elasticsearch 入门教程(二) ---全文搜索 截止目前的搜索相对都很简单:单个姓名,通过年龄过滤.现在尝试下稍微高级点儿的全文搜索--一项 传统数据库确实很难搞定的任务. ...

  8. openlayers地图旋转_OpenLayers教程二:实现简单的地图显示

    本文衔接上一篇文章:不睡觉的怪叔叔:OpenLayers教程二:实现简单的地图显示​zhuanlan.zhihu.com 经过上一篇文章对OpenLayers的简单了解以后,现在让我们来实现一个简单的 ...

  9. 计算机java语言教程,计算机JAVA教程二讲Java语言基础知识.doc

    计算机JAVA教程二讲Java语言基础知识 2.1简单数据类型 2.1.1 标识符和保留字 1.标识符 程序员对程序中的各个元素加以命名时使用的命名记号称为标识符(identifier).Java语言 ...

最新文章

  1. 听说「面向对象是怎样工作的?」是一道送命题?| 7月书讯
  2. 前端面试查漏补缺--(一) 防抖和节流
  3. Unity3D Adam Demo的学习与研究
  4. C语言用数组(顺序表)实现大小固定的队列的方法
  5. pipe创建匿名管道`
  6. MySQL学习笔记01【数据库概念、MySQL安装与使用】
  7. ASP.NET Core Blazor WebAssembly 之 .NET JavaScript互调
  8. Java深入 - servlet和Spring的DispatcherServlet详解
  9. ubuntu如何安装python36_在Ubuntu 16.04下安装Python3.6,ubuntu1604,Python36
  10. LINUX系统配置相关
  11. 【C/C++ 】C++库类大全
  12. g4600黑苹果efi_授人以鱼不如授人以渔,黑苹果EFI相关问题分析方法以及解决思路...
  13. VS2010 学习版序列号(转)
  14. python开根号_python开根号_python 开根号_python开根号函数 - 云+社区 - 腾讯云
  15. 浅析经典JVM垃圾收集器-Serial/ParNew/Parallel Scavenge/Serial Old/Parallel Old/CMS/G1
  16. 【踩坑记录】导航时出现原地旋转,然后无法执行导航
  17. 【网络--实验】华三防火墙命令行调试实例
  18. 不改一行代码!快速迁移 Koa 应用上云
  19. 玉米社:百度竞价推广计划、推广单元是什么?
  20. 超多面试题合集,来瞅瞅你碰到了几道题~

热门文章

  1. goto 在 linux 里面简单使用
  2. 绘制地形图(征地篇1)-龙啸
  3. Oracle联合主键
  4. golang context的done和cancel的理解 for循环channel实现context.Done()阻塞输出
  5. 通过浏览器F12开发者工具的javascript控制台给Vue表单赋值
  6. UNIX环境编程(c语言)--套接字--基本TCP套接字编程
  7. Linux下jenkins安装部署
  8. 50道JavaScript基础面试题(附答案)
  9. InVEST模型土壤保持模块原理及数据获取分析
  10. matlab存图程序,Matlab中图片保存的5种方法