• Git学习


      想记录一篇关于git基本操作的博客,以后就别老用到再去查别人的了。

      1.安装Git

      因为我是mac系统,所以直接按照网上提供的教程按照的。

     其他系统参照:https://www.liaoxuefeng.com/wiki/896043488029600/896067074338496

      2.初始化代码仓库(repository)

         其实相当于在你的电脑里找一个目录,这个目录下所有的文件以及我对这些文件的操作都可以被git记录下来,以后如果我在写代码的道路上走歪了,还可以浪子回头,找回原来的版本。

      关键命令如下

    1 git init   
    //把这个目录改成git可以管理的仓库,可以看到多出了一个 .git文件,这个文件很重要,不要删了,是git用于跟踪版本库的
    //如果看不多可以命令行 ls -ah,表示查看当前目录下隐藏的文件

          git只能跟踪纯文本文件的变化,即txt、代码等。像图像,音频,word等二进制文件是无法跟踪具体变化的。具体看廖雪峰老师的教程 

        3.把文件添加到仓库 

    git add  abc.txt //告诉git,abc.txt要加进来
    git commit -m '2021/1/7' //告诉git,把文件提交到本地仓库, -m 代表此次提交的说明,最好每次提交都写一下,方便日后正确服下‘后悔药’

      所以提交文件到本地仓库分两步:1.git add 文件名+后缀名    2.git commit -m '提交说明'  一次性把第一步add的所有文件提交到本地仓库。

      那为啥要这样呢,因为git add只是把文件放在一暂存区,用于保存要commit前的文件,而没git add之前,这个文件相当于放在本地上,也叫工作区,而在git commit之前仓库不知道这个文件的存在,git commit才是把文件真正提交到仓库中,原理可以查看博客:https://www.cnblogs.com/best/p/7474442.html#_label0

     4.查看仓库状态与文件变化

     要是abc.txt这个文件在提交后又被别人修改了,我们可以通过以下命令查看文件状态,以及与原来的abc.txt之间的差别。

    git status  //查看仓库当前状态
    git diff   //查看相比上次的变化

    (git status)

    (git diff)

    若想查看自己的历史提交情况可以输入以下命令
    git log  

    可以看到我今天提交的记录,一直往下查看可以看更久以前的提交

      5.回退到以前的版本

      要是我对第三次的提交不满意,而且自己写的代码已经烂的覆水难收了,想回到最初的起点,又不想自己一行行删除代码,虽然当前我的版本少体现不出来git的好处,但是如果以后做一个大项目,肯定会迭代很多版本,到时候如果想回到某个的版本,如果使用git就会很方便

      具体命令如下:  

    git reset --hard HEAD^   //表示回到当前版本的上一个版本,若有HEAD后面有两个^^,则代表回到上上个版本

      

      此时查看abc.txt文件,已经变成我第二次提交时的样子了

      此时再查看git log中已经不存在我第三次提交的记录了!

      如果我又想回到第三次提交怎么办呢?可以找到对应提交的id,这个id我们可以在每次commit后观察到 

      

       于是乎,只要输入以下命令,就可以实现从过去回到未来

    git reset --hard 9870075//表示回到commit id 对应的id

          此时再去查看acb.txt,果然回到我第三次提交时的样子了。

      但是,假如我没有这么幸运!把命令行关了才反悔的,那命令行岂不是看不到之前commit ID 的嘛,这个时候,git的另外一个命令就派上用场了。

      

    git reflog  //记录了每次的命令 ,前面就有对于的id

     需要说明的是,HEAD是一个指向当前版本的指针。

    综上,若我想回到不同版本的abc.txt文件,可以使用的命令为

    git reset --hard commit_id   //回到指定 commit_id所在的版本,或者直接用HEAD^回到上一个版本 或 HEAD~100 回到前一个版本或前100个版本,~后的数字看自己的需求

     这是按照廖雪峰老师的教程一步步做下来的,参考网站:https://www.liaoxuefeng.com/wiki/896043488029600





    
    

      

  • 相关阅读:
    选美大赛示例 你会选谁
    jQuery简单的手风琴菜单
    jquery根据name属性查找
    js鼠标滚轮滚动图片切换效果
    图片动画横条广告带上下滚动
    淘宝顶部导航菜单
    下雪了堆雪人去 下雪特效
    多彩图标按钮动画下拉菜单
    JavaScript实现HTML5烟花特效
    MySQL:参数wait_timeout和interactive_timeout以及空闲超时的实现【转】
  • 原文地址:https://www.cnblogs.com/pipihoudewo/p/14248646.html
Copyright © 2020-2023  润新知