• 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,进行撤销操作,看下图,具体步骤不做描述

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

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

  • 相关阅读:
    如何学习编程语言?
    spring AOP(1)
    一个老工程师给年轻工程师的十大忠告!!!
    跳楼时看到的[转]
    Python distribution打包&安装流程
    php rsa类的一个写法
    yii数据表关联操作
    JIRA是个好工具
    Yii CModel.rules() 方法 validate预定义完整列表
    Python Challenge挑战一下
  • 原文地址:https://www.cnblogs.com/dream66/p/12736657.html
Copyright © 2020-2023  润新知