Git使用系列04-->文件版本管理上

前言

    学习就像一场战争,一场赛跑,它不会因你而停止,而你要因它而奋斗!

一、文件版本管理介绍

   Git的功能就是文件的版本管理,它可以对工作区文件的各种操作(新建、修改、删除、重命名)都进行版本管理。

二、文件版本管理常用操作命令

git status :显示工作目录和暂存区的状态
git add 文件名/目录/: 把文件或目录添加到暂存区,如果参数为,表示所有文件和目录
git commit -m “注释信息” : 把暂存区的内容提交到版本库,-m 表示 提交的同时添加注释信息
git diff 文件名:比较当前工作区和暂存区文件之间的差异
git log :查看历史记录信息
git log --pretty=oneline :精简模式显示历史记录信息
git reflog:查看版本历史记录
git reset --hard 版本号:根据版本号回退到指定版本,如果版本号为HEAD^ 表示回退到上一个版本,如果是HEAD^^,表示回退到再上一个版本,依次类推
git checkout -- filepathname:用来放弃掉所有还没有加入到缓存区(就是 git add 命令)的修改
git rm 文件名:同时从工作区和暂存区中删除文件,加上--cached选项,只会从暂存区删除,不会删除工作区的文件
git mv 源文件 目标文件:移动或重命名文件,该操作同时在工作区和暂存区生效

三、文件版本管理实战

3.1 新增文件

  1. 在工作区 c:git_repository 下新建一个 new01.py 文件,内容为 print('new01')
  2. 使用命令 git add new01.py 添加到暂存区
  3. 使用命令 git status 显示工作区和暂存区的状态,可以看到添加的文件
  4. 使用命令 git commit -m “第一次提交” 把文件提交到版本库
  5. 使用命令 git status 显示工作目录和暂存区的状态,发现无任何文件相关信息,因为暂存区的文件已提交,工作区无任何变化
  6. 使用 git log 命令查看提交日志


    备注:在第一次使用git add new01.py时,报了警告:
warning: LF will be replaced by CRLF in new01.py.

原因是需要提交的文件是在windows下生成的,windows中的换行符为 CRLF, 而在linux下的换行符为LF,所以在执行git add 时出现提示,解决办法:

git config --global core.autocrlf false

输入上述命令之后再进行提交。

上述新增文件的操作再用图示细化过程如下:

在第一次进行git commit操作时,会创建默认master分支及指向master的一个指针HEAD,读者可通过日志发现有一个HEAD --> master

3.2 修改文件

3.2.1 修改文件

  1. 手动修改上面的 new01.py 文件,增加一行内容为 print('new02')
  2. 使用命令 git status 显示工作目录和暂存区的状态,可以看到修改的文件
  3. 使用命令 git diff new01.py , 比较工作目录和暂存区域快照之间的差异,也就是修改之后还没有暂存起来的变化内容
  4. 使用命令 git add * 添加到暂存区
  5. 使用命令 git commit -m “第二次提交--修改” 把文件提交到版本库

3.2.2 撤销修改文件

如果发现修改出现问题,想对上面3.2.1的修改操作进行撤销,可以采取版本回退的方式进行撤销修改。有两种方式如下:

方式一(版本少时使用):

使用命令 git reset --hard HEAD^ 回到上一版本,依次类推 HEAD^^回到上上个版本

方式二(版本很多的情况下使用):

  1. 使用命令 git reflog 查看版本历史记录
  2. 使用命令 git reset --hard 版本号 回到指定版本

如果只是做了 3.2.1 中的第一步,需要撤销修改,不使用上述版本回退的操作,也可以有多种方式:

方式一(适合修改很多的场景):
使用命令 git checkout -- new01.py,进行撤销操作,看下图,具体步骤不做描述

方式二(适合少量修改的场景):
直接通过改文件改回去就行了。具体看下图:

本想继续往下写的,但是不想篇幅太长,使大家产生学习疲劳,就再做一个下吧~

原文地址:https://www.cnblogs.com/dream66/p/12736657.html