0%

Git学习记录

本节主要介绍Git的基本使用。

创建版本库

  • 通过git init命令把这个目录变成Git可以管理的仓库

  • 用命令git add告诉Git,把文件添加到仓库,相当于暂存

    1
    git add readme.txt
  • 用命令git commit告诉Git,把文件提交到仓库,把暂存区域的文件全部提交

    1
    git commit -m "wrote a readme file"
  • 可以直接在vscode中通过可视化界面操作

    Snipaste_2026-04-14_14-54-42

  • git status命令可以让我们时刻掌握仓库当前的状态

    image-20260414150432892
  • 如果git status告诉你有文件被修改过,用git diff可以查看修改内容。


时光机穿梭

1.版本回退

  • git log命令显示从最近到最远的提交日志

  • Git必须知道当前版本是哪个版本,在Git中,用HEAD表示当前版本,也就是最新的提交1094adb...,上一个版本就是HEAD^,上上一个版本就是HEAD^^,当然往上100个版本写100个^比较容易数不过来,所以写成HEAD~100,可以使用git reset命令回退版本:

    1
    git reset --hard HEAD^
  • --hard会回退到上个版本的已提交状态,而--soft会回退到上个版本的未提交状态,--mixed会回退到上个版本未添加状态。

  • HEAD指向的版本就是当前版本,因此,Git允许我们在版本的历史之间穿梭,使用命令git reset --hard commit_id

    image-20260414150103533
  • 穿梭前,用git log可以查看提交历史,以便确定要回退到哪个版本

  • 要重返未来,用git reflog查看命令历史,以便确定要回到未来的哪个版本

2.工作区与暂存区

image-20260414152215833 image-20260414152248049

3.撤销修改

  • 场景1:当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,用命令git checkout -- file

  • 场景2:当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,分两步,第一步用命令git reset HEAD <file>,就回到了场景1,第二步按场景1操作。

  • 场景3:已经提交了不合适的修改到版本库时,想要撤销本次提交,参考版本退回一节,不过前提是没有推送到远程库。

4.删除文件

  • 命令git rm用于删除一个文件,根据提示即可恢复

    image-20260414161903907
  • 如果是手动删除工作区中内容,只要这个文件提交到过版本库,可以直接用命令git checkout -- file将丢弃内容恢复到工作区

远程仓库

Reference

欢迎来到ssy的世界