概述

看到网上很多关于Git的教程都是使用命令行的,各种参数实在令人眼花缭乱。对于我这个平时在单位

仍然使用svn,只是业余时间使用一下git的菜菜程序员,真是头疼。每隔一段时间用Git和Github的都

需要重新学习一遍相关命令。

命令虽然用熟了特别省事,但是不容易上手呀。

因此,我有现在这个想法,就是写一版纯 GUI版的Windows下的Git教程。除非迫不得已才考虑使用命令行,

否则一切都用GUI实现。

 

通过本篇,你可以实现:

  1. Git的安装
  2. 建立(初始化)一个Git版本库
  3. 提交
  4. 查看提交记录
  5. 添加忽略文件
  6. 修改上次提交

 

Git安装

网址在这里:https://git-for-windows.github.io/

 

 

下载下来就可以正确使用了。、

 

安装的时候,各种选项,选默认的就好。

遇到问题上网再查吧,反正以后还可以修改。

 

 

本地使用Git提交commit

关于Git本身就可以讲一本书了。这里只介绍界面操作Git。

 

初始化Git版本库

在任意目录下新建一个文件夹,名称为HellWorld,作为我们的测试仓库。

 

在资源管理器的任意位置(比如桌面),右键,选中"Git Gui Here"。进入Git的GUI操作界面

 

 

接下来会弹出下面的界面,选择"Create New Repository",用来创建新的Repository。

 

这里稍稍解释一下什么是Repository。中文件名一般叫作版本库或者是仓库,其实啊说白了就是一个我们编写代码的一个根目录。这个目录中的所以文件都被git管理,不管你做什么操作都会被记录,包括:增加、删除、修改文件等,都会被记录下来,以便后来跟踪与修改相关记录,甚至被还原。

 

另外,注意这个界面下面,还有一个"Open Recent Repository"的选项,用来显示最新使用的仓库列表,因为我已经新建了一个仓库,所以它会被显示在其中。

平时,我们也可以使用这个界面方便打开我们常使用的仓库。

 

 

 

在弹出的界面中填入选中的目录。点击"Create"按钮。

 

然后会进入一个初始的提交界面,因为我们还没有在项目中新建相关资料,所以就不需要了操作了。直接关闭这个界面即可。这个界面每次提交的时候都会出现,后面我们还会说细介绍这个界面。

 

 

到这里,我们的初始化仓库的工作就已经做完了。那么Git初始化仓库到底做了什么工作呢?Git是如何管理仓库中的相关信息呢?我们进入HelloWorld目录看一下究竟,这里需要打开"文件夹选项"中的"显示隐藏文件"的设置。不了解的同学,可以上网查一下对应的Windows系统中,如何显示隐藏文件。

打开后,从下面的图中,我们可以看到Git在HelloWorld目录下创建了一个隐藏的.git文件夹,仓库的所有版本管理的信息都存储在这个文件夹中。

但是需要注意的事,git与svn不同。Svn会在管理仓库的每个子目录下都创建.svn目录,用来记录信息,但是git只会在仓库的根目录创建.git,不会在每个子目录中创建.git。

 

 

扩展阅读:

对于充满好奇心的同学,还可以点开.git文件。看看里面究竟有些什么。虽然我们现在还是菜菜鸟,

但是当某一天,我们把这个文件中内容都搞清楚,知道Git是如何工作的,就是一个真正的git高手了。

每个文件是做什么用的,我自己也没有搞明白,只知道那个config文件比较有用,是纯文本文件,可以编辑。进行一些git的版本库的配置。

欢迎大家补充。当然,我也在慢慢研究。

 

第一次提交

我们在HelloWorld目录下新建一个main.R文件,用R Studio打开(或者用记事本,并没有什么区别),并在其中输入一些简单的代码,代码如下:

x <- 1:10

print(x)

 

 

下面进行第一次提交。

 

进入HelloWorld目录,右键单击空白区域。在菜单中选择"Git GUI Here",然后会进入下面的界面。

 

 

Staged:英文解释是,被组织的。

组织(活动或仪式) If you stage an event or ceremony, you organize it and usually take part in it.

我查到这个解释,感觉也不是很贴切。

总之,一个文件修改后,只有修改为Staged状态,才能被提交。

 

点击Stage Change,会将所有的修改文件都加入提交缓存区。也可以分别双击需要加入缓存区的文件。

添加完成后会是这样的。

 

 

 

 

 

其中

  1. Rescan按钮,就是重新扫描,如果你提交期间代码在外部作了更改,就需要重新扫描一下,得到最新的状态,以便提交。
  2. 第二个按钮,已经说过了
  3. sign off按钮,会自动将您的相关信息输入到提交框中。但是git本身也会跟踪记录每次修改的作者,所以,这个目前也不是特别有用了。
  4. commit,这个是最重要的按钮,就是确定这次提交
  5. push,当你建立了远程仓库(比如在Github上)会将本地的仓库的修改和修改记录都推送到远程仓库上。当然当提是你需要有远程仓库,我们在后面讲Github的时候,会讲这个问题。

 

上面每个按钮,都有对应的快捷键,当你更加熟练Git的原理后,就可以考虑使用快捷键实现。

 

这里尤其要介绍一下Ctrl+T键,它是一个开关键,可以针对某个文件进行操作。在Unstaged Changes区,选中一个文件,然后按Ctrl+T,就可以将其添加到Staged Changes区。而在Staged Changes区选中一个文件,按下Ctrl+T,又可以将其取消。

如果不选中文件,直接按Ctrl+T会将所有文件添加到缓存区,或者将缓存区的所有文件取消添加。

 

由于添加到缓冲区是一个特别常用的操作,所以,当你经常要提交时,试着学习一下

Ctrl+T

Ctrl+I

Ctrl+U

这三个键的使用,会很好的提高你的工作效率。

 

当然,最后的Ctrl+Enter键,完成提交,也很好用哦。这样就不用每次去点那个commit按钮了。

 

总之,点击commit,就可以完成第一次提交了。

 

第二次提交

我们再在main.R源文件中添加一些代码:

 

require(ggplot2)

data(diamonds)

head(diamonds)

 

再次提交

 

 

注意,前面,我们没有讲到的提交界面的一个大区域是右上角的那个区域,这个区域由于我们第一次提交时,没有选中文件,所以没有显示出来内容。只要我们选中文件,无论是Unstaged区域还是Staged区域的文件,都会显示这个文件的变化。

 

其中,浅绿色表示添加,粉色的表示删除(这里没有删除,所以没有显示)。

 

最前面一行的,那个 -1,2,+1,6我还没有研究明白。

只知道2,6大概表示修改前后的文件的行数。

 

查看提交的记录

前面已经进行了两次提交,那么如何查看所有的提交记录呢?以及如何查看每次提交都修改了哪些文件呢?

点击Repository菜单下在 Visualize master's History或者All Branch history即可查看。

 

 

 

 

添加了忽略文件

现在已经进行了两次提交,下面关闭R Studio,你会发现生成了两个临时文件。一个是.RData一个是.Rhistory。这两个文件。

(如果你不是使用RStudio,随便建两个文件就好,名字以.开头在Windows下面比较麻烦,所以,名字也可以不以.开头)

 

其中.RData存放的工作空间的变量值。

而.Rhistory存储的是你上次在RStudio中执行过的命令列表。

这两个文件都是不需要提交的,那么如何将其添加到忽略列表,使每次commit的时候,不要显示它们的更改。

 

 

这里需要在当前目录下建一个文件,文件名称为".gitignore",这个文件开头是"."所以,直接用Windows菜单新建文本文件,然后重命名,是不可以的,会出现以下提示:

 

在Windows下建立以点开头的文件有很多种方法,最简单的一种就是,在命名时,在末尾也添加了一个点。像下面这样:

然后就建好了。

 

用记事本或者其他的文本编辑器打开刚刚新建的的.gitignore文件,在其中输入

.RData

.Rhistory

保存,关闭。

注意,要每行写一个,不要写到同一行哦。

 

然后,再提交,看看发生什么。

 

这回没有前面那些需要忽略的文件的文件了。

关于.gitignore文件,不只可以指定单个文件,它还可以添加通配符,比如:

*.docx

*.html

等等,还有一些其他的写法,这里就不先不介绍了。后面,我可以开一个帖子专门讲这个问题。

 

 

添加完成提交消息,并将修改文件添加到缓存区,就可以commit了(记着按新学会的Ctrl+Enter快捷键哦)。

有快捷键,用GUI效率也没有那么低,呵呵。

 

最后,再在Repository菜单->Visualize master's history中,看看我们提交版本信息。

修改上次提交信息

在提交界面中,我们有一个选项还没有讲,那就是"Amend last commit"即,修改上次的提交。据说,这个也是Git比svn更人性化的一个地方,有更多的后悔药卖。

还是进入commit界面(记着右键+g键哦),选中"Amend last commit"前面的单选项。如下图所示:

 

看看发生了什么?上次提交的信息全部又重新展现出来了。

可以完全的修改上次的提交,这里我们只修改一下commit Message。在后面添一句说明。

 

添加完成后,commit。

 

最后,再看看我们所有的提交信息,还记得在哪个菜单吗?Repository菜单->Visualize master's history中。

 

看到了没有,我们的commit还是三个,但是第三个提交的信息已经改变了。已经在后面添加了一句话。

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐