Git基本命令与使用自查

基本概念

什么是git

Git 是一款分布式版本控制系统(DVCS),是用于管理文件(尤其是代码)修改记录、追踪版本迭代、支持多人协作的开源工具。

核心特性:

  1. 分布式:每个开发者本地都有完整的代码仓库(包含所有版本记录),无需依赖中央服务器即可完成大部分操作(提交、分支、回滚等),离线也能工作;
  2. 版本追踪:精准记录文件的每一次修改(谁改、改了什么、什么时候改),支持随时回滚到任意历史版本;
  3. 分支管理:可轻松创建分支(比如开发新功能、修复 Bug 单独开分支),分支间独立开发,完成后再合并,避免代码冲突;
  4. 跨平台:支持 Windows、Mac、Linux,可通过命令行或图形化工具(如 SourceTree、GitKraken)操作。

简单说:Git 是本地管理代码版本的工具,不依赖任何云端平台也能独立使用。

Git 记录修改的方式:直接记录快照,而不是差异比较。

每当提交更新或在 Git 中保存项目状态时,它就会针对当时项目的全部文件制作一个快照, 保存快照的索引。如果文件没有修改,Git 就不重新存储该文件,只保留一个链接指向之前存储的文件。 Git 对待数据类似于快照流

Git 三种状态:

  • 已提交(committed):修改已经保存在本地代码仓库中。
  • 已修改(modified):修改了文件,但还没保存到代码仓库中。
  • 已暂存(staged):对一个已修改文件的当前版本做标记,使它包含在下次提交的快照中。

所以 Git 项目一般有三个工作区域:Git 代码仓库、工作目录、暂存区域。

Git 和 GitHub 的关系?

GitHub 是一个基于 Git 的云端代码托管平台,核心是为 Git 仓库提供远程存储服务。

Git GitHub
本质 版本控制工具(软件 / 命令集) 基于 Git 的云端服务平台(网站)
运行位置 本地电脑 / 私有服务器 云端服务器
核心功能 管理代码版本、分支、提交 托管 Git 仓库、协作、分享、开源
依赖关系 可完全独立使用(无需 GitHub) 核心功能依赖 Git 实现

关于 Github 的使用,请参考:

https://blog.csdn.net/m0_57787115/article/details/130296388https://blog.csdn.net/m0_57787115/article/details/130296388

入门指令

一、本地仓库提交

生成 SSH Key 并添加到 Github 等平台后,就要配置 Git 身份(提交记录会关联该信息),--global 表示全局生效(所有仓库共用),去掉则仅当前仓库生效。

下面是一个最简单的 git 工作流程常用命令:

bash 复制代码
# 首先 cd 到工作目录
# 1.初始化 git 仓库
git init  
 
# 2.配置个人信息(配一次即可)
# 配置个人信息,双引号要用英文的
git config user.name "你的名字"
git config user.email "你的邮箱"
# 配置个人信息,全局配置
git config --global user.name "你的名字"
git config --global user.email "你的邮箱"

# 3.检查状态(可选)
# 查看工作区文件状态(未跟踪 / 已修改 / 暂存),推荐加 -s 简化输出:git status -s
git status
# 查看工作区未暂存的修改内容
git diff

# 4.添加
# 把文件的变化添加到暂存区
# .是当前文件夹下所有 也可以指定推送某个文件 git add 文件名
git add .
git add <文件名>      

# 5.提交
# 把暂存区的文件,提交到仓库(备注必填)
git commit -m  "提交备注" 

核心流程:初始化(配置个人信息) -> 添加文件进入暂存区 -> 提交文件到本地仓库

二、查看状态与回滚

bash 复制代码
# 查看提交历史(按时间倒序)
git log

# 回滚到指定版本(清空工作区 / 暂存区,慎用)
git reset --hard <提交ID>

# 回滚到指定版本(保留工作区 / 暂存区修改)
git reset --soft <提交ID>

# 撤销指定提交(生成新提交,适合已推送的版本)
git revert <提交ID>

三、与远程仓库协作

本地仓库的过程,在头尾加上拉取远程代码和推送远程代码的过程:

克隆远程仓库 / 拉取代码 -> 添加文件进入暂存区 -> 提交文件到本地仓库 -> 推送本地分支到远程仓库

bash 复制代码
# 查看远程仓库的别名和地址
git remote -v

# 1.克隆远程仓库到本地(含所有版本记录)
# 例如:git clone https://github.com/xxx/xxx.git
git clone <远程仓库地址>

# 2.拉取远程分支代码并合并到本地(= fetch + merge)
# 指定分支为 main:git pull origin main
git pull <远程别名> <分支名>

# 3.推送本地分支到远程仓库
# 例如:git push origin main
git push <远程别名> <本地分支>
相关推荐
不败公爵2 小时前
Git的回滚方法
git
vortex52 小时前
Windows 下 Git Bash 终端高效配置指南
windows·git·bash
小生不才yz2 小时前
(五)历史与追溯 - git bisect 命令的使用
git
摇滚侠2 小时前
零基础小白自学Git_Github教程,GitHubDeskTop安装,笔记10
笔记·git·github
笨蛋少年派2 小时前
git本地版本控制简介
git
摇滚侠2 小时前
零基础小白自学 Git_Github 教程,GitHub 是如何工作的,笔记08
笔记·git·github
小Lu的开源日常3 小时前
如何将 GitHub 仓库从个人账户转移到组织账户
git·开源·github
芒克芒克3 小时前
《Git 入门:从概念到环境准备》
git
我就是程序猿3 小时前
Git的操作
git