zoukankan      html  css  js  c++  java
  • Git基本操作

    git基础操作

    基础知识

    Git分为三种状态,你的文件可能处于其中之一:已修改(modified),已暂存(staged),已提交(committed)。分别对应三个逻辑区:工作区,暂存区,仓库(数据目录)。

    操作演示

    git init test

    此命令初始化一个新本地仓库,它在工作目录下数据目录生成一个名为.git的隐藏文件夹。git会将所有的文件,目录,提交等转化为git对象,压缩存储在这个文件夹当中。
    git init 命令后面不加参数表示把当前目录变为仓库,如下表示在当前目录下创建test仓库


    git status

    查看当前git状态


    这里表示的是暂存区没有文件,可以提交到暂存区的文件有test1.txt和test2.txt

    我们要用git add来提交到暂存区(也可以理解为建立跟踪)

    git add


    git commit

    将文件由暂存区提交到仓库

    -m 参数表示提交时的备注


    可以看到尽管我们提交了test1.txt文件,但是我们还是在跟踪test1.txt文件

    这时我们再修改test1.txt文件,在使用

    git diff test1.txt


    可以看到,当我们没有修改test1.txt时,使用git diff命令时,是不会有显示的,当我们进行修改了之后,再diff就有显示,git diff表示工作区和暂存区的区别,这时侯我们还没有把工作区修改的文件提交到暂存区,自然有显示,当提交了就没有显示了

    git log

    我们使用git log查看提交到仓库区的记录


    查看下历史记录,HEAD我的理解就是指针,指到最后提交的版本,提交的越早的在最低下。


    这是同时修改个文件的git diff效果


    这是同时提交多个文件到仓库的效果,还是以最近一次提交为head指针,但是区分不出具体提交的文件名。

    git reset --hard [版本号]

    可以回退到之前一个版本,这时test1.txt的内容对应这个版本的内容

    git reflog

    当我们使用git reset进入之前的版本号后,会看不到最先开始的版本号,这时我们可以通过git reflog来进行查看。

  • 相关阅读:
    关于随机数生成
    全文搜索基本原理(倒排索引、搜索结果排序)
    Log-Structured Merge Tree (LSM Tree)
    Spring Cloud组件使用/配置小记
    容错框架之Hystrix小记
    (转)调试程序时设置断点的原理
    字符串匹配算法
    信息论小记
    Java 函数式编程(Lambda表达式)与Stream API
    (转)自动控制的故事
  • 原文地址:https://www.cnblogs.com/NineOne/p/13872886.html
Copyright © 2011-2022 走看看