zoukankan      html  css  js  c++  java
  • 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





    
    

      

  • 相关阅读:
    win7网络共享原来如此简单,WiFi共享精灵开启半天都弱爆了!
    JQUERY UI Datepicker Demo
    Official online document, install svn server in centOS
    JAVE not work in linux
    AMR 转mp3 失败
    XD, XR, DR 股票
    Linux 下MySql 重置密码
    Difinition Of Done
    Apache, Tomcat, JK Configuration Example
    Linux 安装tomcat
  • 原文地址:https://www.cnblogs.com/pipihoudewo/p/14248646.html
Copyright © 2011-2022 走看看