• Git教程



    根据 Git教程所总结的笔记。

    Windows安装git

    官网下载,直接安装,开始菜单栏输入Git Bash,弹出类似命令行的东西,说明安装成功!
    安装完成后 进行设置 git认主:

    $ git config --global user.name 'your  name'
    $ git config --global user.email 'XXX@XX.com'
    
    • 1
    • 2

    创建版本库

    • 可以选择你想要安装的目录处输入cmd,调出命令行,来创建一个空目录
    • 也可以直接在刚才调出的Git Bash中,来创建一个空目录
    • 后续的操作都可以在cmd中完成或者Git Bash中完成
      第一步:
    $ mkdir learnGit
    $ cd learnGit
    $ pwd
    
    • 1
    • 2
    • 3

    pwd命令用于显示当前目录。
    第二步:
    通过git init命令把这个目录变成Git可以管理的仓库

    $ git init
    
    • 1

    添加文件到版本库

    第一步:首先你要在learnGit目录下创建一个你要添加的文件。举个例子,添加的文件命名为“readme.txt”,内容为

    Git is a version control system.
    Git is free software.
    
    • 1
    • 2

    第二步:用git add把文件添加到仓库

    $ git add readme.txt
    
    • 1

    第三步:用git commit把文件提交到仓库,-m后输入的是本次提交的说明,可以是任意内容,方便阅读和改动文件

    $ git commit -m 'wrote a readme file'
    
    • 1

    时光穿梭机

    歪题:时光穿梭机这个名字挺有意思的,其实我也挺想回到以前,所有回不去的良辰美景都是举世无双的好风光~

    • 刚才已经成功添加了readme.txt文件,然后我们继续修改,将文件内容修改成(第一行新增一个单词distributed):
      Git is a distributed version control system.
      Git is free software.
      
      • 1
      • 2
    • 使用git status命令可以查看仓库的当前状态(只知道被修改了,不知道改了啥,且知道文件是否被提交),此时文件只是被修改了,但还没有提交到仓库里。
      $ git status
      
      • 1
    • 如果你想知道修改了哪些内容,则需要用到命令git diff 文件名
      $ git diff readme.txt
      
      • 1
    • 修改完成后就可以使用git commit -m ‘add distributed’ 进行提交
      $ git commit -m 'add distributed'
      
      • 1
    • 可以再次使用git status查看状态,此时仓库里没有需要提交的修改(nothing to commit),工作目录也是干净的(working tree clean)
      $ git status
      
      • 1
    • 此时,我们可以不断的对文件进行修改,并提交到版本库里,假如改了三版,各版本内容如下:
    1. 版本1:wrote a readme file
      Git is a version control system.
      Git is free software.
      
      • 1
      • 2
    2. 版本2:add distributed
      Git is a distributed version control system.
      Git is free software.
      
      • 1
      • 2
    3. 版本3:append GPL
      Git is a distributed version control system.
      Git is free software distributed under the GPL.
      
      • 1
      • 2
    • 如果修改了千千万万个版本,怎么去记住?->git log命令可以告诉我们历史记录,git log --pretty=oneline 可以省略信息,并一行输出
      $ git log
      $ git log --pretty=oneline
      
      • 1
      • 2
    • 此时我们在版本3,如何乘坐时光机穿梭(git reset)到版本2呢?上一个版本可以表示为HEAD^ ,上上个版本可以表示为HEAD^^,上100个版本可以表示为HEAD~100。
      $ git reset -- hard HEAD^
      
      • 1
    • 此时使用git log查看历史记录,版本3的记录已经没了,那么此时我们在版本2,又如何吃后悔药回到版本3呢?有两种后悔药可选,急速后悔药,慢性后悔药。
    1. 如果你还没有关掉命令行窗口,就可以通过git log结果里的commit id(一大串字符,只需要写前几个即可)进行回退
      $ git reset --hard 1094a
      
      • 1
    2. 如果你关掉了命令行窗口,才悔不当初,可以通过git reflog来找到删除的文件的commit_id。git reflog里面记录你的每一次命令:
      $ git reflog
      
      • 1
    • 总结来说,HEAD指向的版本就是当前版本,使用命令git reset --hard commit_id可以在不同版本间来回穿梭
    • 使用git log查看提交历史,以回到过去
    • 使用git reflog查看命令历史,以回到未来

    工作区和暂存区

    • 工作区:电脑里能看到的目录
    • 版本库:隐藏目录.git,里面含有stage(暂存区),Git自动创建的分支master,以及指向master的一个指针HEAD
    • git add 实际上是把文件修改添加到了暂存区(stage)
    • git commit 提交更改,实际上是把暂存区的内容提交到当前分支master上。
    • 每次修改,如果不用git add到暂存区,就不会加入到commit中。

    撤销修改

    • 1.如果想直接丢弃工作区的修改时:

      $ git checkout --file
      
      • 1
    • 2.如果你改乱了工作区某文件的内容,且将其添加到了暂存区,想丢齐修改:分两步
      第一步:回到1

      $ git reset HEAD <file>
      
      • 1

      第二步:操作同1

    删除文件

    • git rm 用于删除一个文件。如果一个文件已经被提交到版本库,那么你永远不用担心误删,但是要小心,你只能恢复文件到最新版本,你会丢失最近一次提交后你修改的内容。
  • 相关阅读:
    vue ant 两个页面 调用同一个接口 想在 前端的一个 接口传 一个固定的值 ,另外一个不变 ,查询条件默认值加上自己要的就好啦
    HTTP —— HTTP 响应详解, 构造 HTTP 请求
    如何选择一个合适高效率的光纤熔接机--TFN FM-82
    STM32H7使用FileX库BUG,SD卡挂载失败
    【TS】any和void
    Camtasia Studio2022卡塔莎(专业的电脑屏幕录像软件)
    【WebSocket 第一篇】从一个WebSocket连接说起
    Spring Security 的 HttpBasic模式 活该被放弃
    JupyterNotebook设置Python环境的方法步骤
    CPU架构 -- ARMv7与ARMv8协处理器比较
  • 原文地址:https://blog.csdn.net/qq_44714543/article/details/125566234