linux系统使用git修改文件后进行版本的回溯

158 阅读1分钟

本文已参与“新人创作礼”活动,一起开启掘金创作之路。​ ​

总结一下在linux中使用git修改了文件后,进行版本的回溯。这里在centOS虚拟机中安装好git进行测试。

一、首先先对文件进行修改

这里修改的文件是已经上传到git仓库中的文件,在git仓库中对这个文件修改

源文件如下:

修改以后如下:

二、查看修改的内容,进行确认

我们在第一步修改了文件后,按 ESC 后输入  :wq  保存并退出,我们进入仓库的路径可以使用 diff 来看文件修改的内容。

eg:   git diff hello.txt

这里给大家简单讲讲这些内容的意思, diff --git a/hello.txt b/hello.txta/hello.txt 就是之前的版本,b/hello.txt就是修改后的版本,下面的 --- a/hello.txt 很容易理解就是之前的版本, +++ b/hello.txt 也就是修改后的版本,这里用 ---与+++来区分,我们具体看下面,一看可能有点乱,仔细读读就可以发现语句前有 - 号的就是修改前的版本,有 + 号的就是修改后的版本,比如之前版本的 Hello git! 和后面修改后的 Hello git and you! 所以使用 diff 指令可以很明显的看出我们之前的修改内容。

 三、将修改后的文件添加到git仓库中

 这里先使用 git add hello.txt,然后再输入 git commit -m "add " 将hello.txt文件添加到仓库中

四、查看git仓库中的版本历史记录

因为当我们修改文件修改很多时候,我们是记不住修改了什么内容,所以git提供了 git log 指令查看最近的历史记录。

上面的我们可以发现输出信息太多,看得比较复杂的,可以试试加上 --pretty=oneline 参数:

五、文件写错时,将版本进行回退

首先,Git必须知道当前版本是哪个版本,在Git中,用HEAD表示当前版本,也就是最新的提交的8940372e.....(这里的ID就是上图 log 时候每一行的前面的一串字符串),上一个版本就是HEAD^(510238c...),上上一个版本就是HEAD^^(a5df7c1...),当然往上100个版本写100个^比较容易数不过来,所以写为HEAD^100。

现在,我们要把当前版本回退到上一个版本 second,就可以使用 git reset --hard HEAD^ 命令

我们输出看看是否退回到了之前的版本:

我们可以继续使用 git log 看看版本库的状态:

我们发现之前那个版本就直接不见了,当然git也给了回去原先版本的方法,不过要输入的不再像之前一样的 HEAD ,而是需要后面加上 版本的ID号,如下:

我们可以看到又回到了之前的版本回溯之前的版本,这就可以很人性化的管理版本,适合开发人员一起进行合作开发:

可能会问要是我之前没有 log 就直接版本回溯了,不是就看不到我之前的那个版本的ID吗?没事,可以输入 git reflog 进行看所有版本的ID和信息:

以上就是一些基本的版本回溯的指令与过程,刚接触git的可以了解了解。