zoukankan      html  css  js  c++  java
  • Git-3

    1,关于版本的回退和向前

    • git log 查看修改版本库的记录 ,可以知道每次的修改的版本ID号 commit id
    • git reset --hard HEAD^  使当前版本成为上一次的提交的版本

            其中参数HEAD^是指上一次的版本,HEAD^^的是上上次的版本,也可以使用HEAD~数字  来指定上几次的版本

            当你git reset之后呢,你再git log一下就会发现之后当前版本和这之前的版本修改信息存在。

            git中是有一个指针指向当前版本的,你git reset就相当于,移动指针。而git log的输出结果就只有指针所在位置的和指针之前的信息,指针之后的就不会显示了。

    • git reset --hard 版本ID号 可以使得当前版本到你指定的版本号,注意版本ID号没必要写全,只需写前几位即可
    • git reflog 可以查看所有的历史命令

           因为git reset之后,若你是回退到以往的版本,那么这之后的在git log的显示结果中回消失,所以当你想到这之后的版本时,你无法通过git log显示的信息来获取commit id ,所以可以使用 git reflog来得知你要到的未来的某个版本的版本ID

    2,关于stage的概念

    你创建的git的文件夹,就是你的工作区,你可以在这工作区中对文件进行增删改查

    在这个文件夹中有一个.git的文件,它就是Git的版本库。这里面包含stage和master以及指向master的指针HEAD

    其中 master是初始Git默认为我们创建的一个分支。

    其中stage即暂存区,每一次add就会把你的add的文件加入到stage中,而每一次commit就会一次性地把stage中的所有修改都提交到分支上。

    commit只是将stage中的内容提交到分支上,如果你工作区中的修改不add到stage中,那么即使commit,你的分支不能同步你的工作区的。

    3, Git跟踪管理的是修改,而不是文件

    4,Git的版本撤销

    • git checkout -- 文件名 丢弃工作区的修改
    • git reset HEAD 文件名  丢弃已经add到了stage中的修改
    • git reset --hard HEAD^    丢弃已经commit到了分支上的修改

    5,文件删除

         (1) 在工作区中直接 rm 文件名 (2) git rm 文件名  删除stage中的文件(3) git commit  -m "remove filename" 提交本次删除的修改

         但是,有时,你在工作区中误删了一个文件(只是在工作区中rm掉了,此时还没有在stage中git rm),那么可以使用 git checkout -- 文件名 将误删的文件恢复

  • 相关阅读:
    年轻人的第一个 Spring Boot 应用,太爽了!
    面试问我 Java 逃逸分析,瞬间被秒杀了。。
    Spring Boot 配置文件 bootstrap vs application 到底有什么区别?
    坑爹的 Java 可变参数,把我整得够惨。。
    6月来了,Java还是第一!
    Eclipse 最常用的 10 组快捷键,个个牛逼!
    Spring Cloud Eureka 自我保护机制实战分析
    今天是 Java 诞生日,Java 24 岁了!
    厉害了,Dubbo 正式毕业!
    Spring Boot 2.1.5 正式发布,1.5.x 即将结束使命!
  • 原文地址:https://www.cnblogs.com/ivywenyuan/p/4574699.html
Copyright © 2011-2022 走看看