Git版本管理:不同版本的切换

时间:2024-03-14 14:19:22

       在前文中,我们记述了如何安装以及如何使用Git创建一个版本库,并且在版本库first_git中加入了第一个版本的文件,命名为learning.txt,内容为:

I love coding.
Hello world!
Have a nice day!

       具体详见安装Git和创建版本库

       现在,我们开始修改文件,然后展示使用Git管理文件的强大之处。

       本篇中使用的命令包括:

  1. git log
  2. git reset --hard comment_id
  3. gir reflog

       首先,我们修改文件:

I love coding,especially python.
Hello world!
Have a nice day!

       然后,我们将修改后的文件提交到Git中。
Git版本管理:不同版本的切换

       现在我们在对文件进行第二次修改。

I love coding,especially python.
Hello world!
Have a nice day!
I have a wonderful girl.

       我们再将修改后的文件提交到Git中。
Git版本管理:不同版本的切换

       现在,我们已经有三个版本的文件了:

  1. got a file

I love coding.
Hello world!
Have a nice day!

  1. add python

I love coding,especially python.
Hello world!
Have a nice day!

  1. add my girlfriend

I love coding,especially python.
Hello world!
Have a nice day!
I have a wonderful girl.

       我们的文件已经有三个版本了,如果还要有更多的版本那管理起来一定很麻烦,这时候Git的强大就表现出来了,之前我们在git commit中留下的信息也就有用啦!

       使用git log可以由近到远的显示我们的修改。
Git版本管理:不同版本的切换
       如果版本过多,一个版本占据太多行看着麻烦,可以使用–pretty=oneline,控制他们一个只占一行。
Git版本管理:不同版本的切换
       注意:前面那一大串数字和字母是版本号。

       那么,现在我想退回到第二个版本怎么办呢?Git可以说是一扇任意门,你可以回到以前任意一个你想回到的时候。

git reset --hard HEAD^

HEAD就像一个指针,指向的是当前的版本。
Git版本管理:不同版本的切换
       可以发现,我们现在已经退回了第二个版本。如果想退回第一个版本就用HEAD^^,如果想退回前50个版本HEAD~50。

       此时,我们在使用git log,发现已经只有两个版本了。
Git版本管理:不同版本的切换
       现在我们已经回到了第二个版本,并且已经知道了如果使用Git回到之前的版本,那么是否有办法从过去在回到现在呢?

       如果你并没有关闭Git Bash,那么只要找到之前的版本号就可以啦。在我们这里,第三版的版本号是“49628…”,注意只需要打前几位就好了,Git会自己查找的。

Git版本管理:不同版本的切换
       此时第三版文件就已经找回来啦。但是如果你关了Git,这种感觉就像编辑了半天但是没有保存一样,不过Git最神奇的地方就在于,只要提交了,它就找的回来。我们可以使用git reflog命令,查找命令记录,最前面的就是版本号。找回版本号之后,在使用reset命令就可以啦!

Git版本管理:不同版本的切换