Git简单使用说明 | 小牛学习日记
Git简单使用说明
Published in:2025-06-13 | category: 问题记录
Words: 1.2k | Reading time: 4min | reading:

Git简单使用说明

参考了这个博客,下文内容都是本地仓库使用的说明,远程仓库的使用后续补充

该博客由浅入深,十分推荐参考学习

什么是Git

Git是目前世界上最先进的分布式版本控制系统,主要用于跟踪文件变化,管理软件开发中分写作和版本迭代,有Linus于2005年为Linux内核开发(这段历史蛮有意思的,感兴趣可以去找找看),使用C语言编写,是目前全球最主流的代码管理工具之一。

核心概念

  • 工作区:本地磁盘中实际编辑的文件目录。
  • 暂存区(Index/Stage):临时存放待提交修改的区域,可选择性提交部分文件。
  • 本地仓库:存储所有历史版本和分支数据的本地数据库。
  • 远程仓库:托管在服务器上的共享版本库(如 GitHub),用于团队协作和代码共享。

安装Git

Linux系统

1
sudo apt install git

macOS系统

先安装包管理器HomeBrew,然后通过Homebrew安装Git:

1
brew install git

Windows系统

直接从Git官网下载安装程序,按照默认选项安装即可。安装完成后,可以在开始菜单找到Git -> Git Bash,就说明安装成功了。

配置Git

安装好后需要一步设置,在命令行输入:

1
2
git config --global user.name "Your Name"
git config --global user.email "email@example.com"

创建仓库

前期工作准备完成后就可以愉快的开始进入使用阶段,首先就是创建仓库(Repository),经常浏览Github,对这个应该都不陌生,简单理解就是一个目录,目录中的所有文件都可以被Git管理。

创建仓库非常简单,首先选择一个合适的地方创建空目录(或者可以直接在本地已有的项目文件夹创建仓库):

1
2
mkdir your/path
cd your/path

第二步:

1
git init

这样一个仓库就创建好了,当前目录下就会多一个.git目录,这个目录是Git来跟踪管理版本库的。

添加文件到版本库

这里要注意,所有的版本控制系统,其实只能跟踪文本文件的改动,比如TXT文件,网页,所有的程序代码等等,Git也不例外。但是图片、视频这种二进制文件就无法追踪文件变化了。

言归正传,对文件进行改动或者添加新文件后,需要把文件添加到暂存区,使用

1
git add <youfile>

也可以直接一键添加所有有改动的文件

1
git add -A

然后把文件提交到仓库,这里可以添加本次提交的说明,这样可以更方便的找到改动记录:

1
git commit -m "your message"

文件管理

查看修改

提交了文件后,可能会对文件进行再次修改,这时可以运行git status命令,会显示哪些文件被改动了。git diff命令可以查看某个文件具体修改了什么内容。

版本回退

多次修改文件后,如果想回退回某个历史版本就需要用到以下命令:

1
2
3
4
5
git log  //显示从最近到最远的提交日志
git reset --hard HEAD^ //有几个^ 就表示回退几个版本
这里的hard表示回退到上个版本的已提交状态,soft表示回退到上个版本的未提交状态,mixed表示四回退到上个版本已添加但未提交的状态
git reset --hard <commit id> //回退到指定版本
git reflog //记录每一次命令

撤销修改

场景1:当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,用命令git checkout -- <file>git checkout其实是用版本库里的版本替换工作区的版本,无论工作区是修改还是删除,都可以“一键还原”。

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

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

删除文件

可以先手动删除文件,然后选择下一步操作:

  • 确实要删除文件
1
2
git rm <file>
git commit -m "remove <file>"
  • 误删文件
1
$ git checkout -- <file>

这里要注意,没有被提交到版本库的文件,删除是无法恢复的

Prev:
boot引导程序的实现