• git-【二】本地git操作提交、版本回退


     一、创建版本库,提交文件

      什么是版本库?版本库又名仓库,英文名repository,你可以简单的理解一个目录,这个目录里面的所有文件都可以被Git管理起来,每个文件的修改,删除,Git都能跟踪,以便任何时刻都可以追踪历史,或者在将来某个时刻还可以将文件”还原”。

      所以创建一个版本库也非常简单,如下是E盘 –> code目录下新建一个testgit版本库。

      打开git bash

    cd E:/code/testgit
    pwd

       1、git init 把这个目录变成git可以管理的仓库

        执行后,生成.git文件夹,这个目录是Git来跟踪管理版本的,不要手动乱改这个目录里面的文件,否则,会把git仓库给破坏。

      

      2. 把文件添加到版本库中。

        首先要明确下,所有的版本控制系统,只能跟踪文本文件的改动,比如txt文件,网页,所有程序的代码等,Git也不列外,版本控制系统可以告诉你每次的改动,但是图片,视频这些二进制文件,虽能也能由版本控制系统管理,但没法跟踪文件的变化,只能把二进制文件每次改动串起来,也就是知道图片从1kb变成2kb,但是到底改了啥,版本控制也不知道。

      2.1、新建文件、提交【-m 之后是提交的注释】    

    touch readme.txt
    git add readme.txt
    git commit -m "readme.txt提交111111"

      2.2、查看文件是否提交

    git status

      如图,没有任何文件变化

        

      在文件中增加内容:“222222”,如图查看

          

      上面的命令告诉我们 readme.txt文件已被修改,但是未被提交的修改。

      2.3、查看不同

    git diff readme.txt

       

      如上可以看到,readme.txt文件内容从一行11111111改成 二行 添加了一行22222222内容。

      知道了对readme.txt文件做了什么修改后,我们可以放心的提交到仓库了。

       2.4、提交修改

        提交修改和提交文件是一样的2步

    git add readme.txt
    git commit -m "readme.txt提交222222"

        注意提交前后状态,如2.2。

     二、版本回退

      1.可以在文件内增加内容:“3333333”

      然后执行提交操作

    git add readme.txt
    git commit -m "readme.txt提交333333"

      2、查看日志

    git log

      现在我已经对readme.txt文件做了三次修改了,查看历史记录【时间倒叙】

      

      git log命令显示从最近到最远的显示日志,我们可以看到最近三次提交,最近的一次是,333333提交.上一次是test.如果嫌上面显示的信息太多的话,可以使用命令 

    git log --pretty=oneline

      

      3、版本向后回退

       3.1、第一种

      上一个版本  

    git reset --hard HEAD^

      上上个版本  

    git reset --hard HEAD^^

      那如果要回退到前100个版本的话,使用上面的方法肯定不方便,我们可以使用下面的简便命令操作:git reset  –hard HEAD~100 即可。

      查看readme.txt内容:通过命令cat readme.txt查看

      

      查看log也是没有最近的一次了。

      3.2、版本号回退【任意前退,后退】

    git reset --hard 版本号

      3.3、查看所有版本号

    git reflog

      

    故版本回滚  

    git reset --hard 0cd5af8

      参考地址:http://blog.jobbole.com/78960/

  • 相关阅读:
    leetCode 116.Populating Next Right Pointers in Each Node (为节点填充右指针) 解题思路和方法
    最终考过了驾照考试,如今就=驾照下来了
    JSON.parseObject的几种用法
    mybatisplus构造器 condition
    MyBatis中jdbcType=INTEGER、VARCHAR作用
    mybatis动态sql
    数据库表可以没有外键
    msyql的子查询,或者叫嵌套查询
    mysql 的编写顺序和执行顺序
    StringUtils的isBlank()方法
  • 原文地址:https://www.cnblogs.com/bjlhx/p/6786529.html
Copyright © 2020-2023  润新知