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 <远程别名> <本地分支>
相关推荐
何中应6 小时前
使用SSH地址拉取远程仓库代码报下面的错误
git
何中应6 小时前
Git本地仓库命令补充
git
sun0077008 小时前
执行repo sync -c -d -j4以后,提交未git push的代码看不到了。要怎么恢复?
git
胖虎111 小时前
Git 一个本地仓库同时推送到两个远程仓库(详细教程)
git·多远程仓库·双远程仓库·git双远程·git备份
春日见21 小时前
如何创建一个PR
运维·开发语言·windows·git·docker·容器
stevenzqzq2 天前
git 常用操作
大数据·git
Curvatureflight2 天前
Git工作流最佳实践:从混乱到优雅
git
wu~9702 天前
GitHub永不遗忘,使用git push -f来覆盖的提交依旧保留
git·github
Vermouth_002 天前
git clone的时候提示access denied
git
qq_437657272 天前
清楚本地的git并重新登录
git