news 2026/8/6 11:19:59

HoRain云--Git入门:6个必学命令轻松上手

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
HoRain云--Git入门:6个必学命令轻松上手

Git 的工作就是创建和保存你项目的快照及与之后的快照进行对比。

本章将对有关创建与提交你的项目快照的命令作介绍。

Git 常用的是以下 6 个命令:git clonegit pushgit addgit commitgit checkoutgit pull,后面我们会详细介绍。

说明:

  • workspace:工作区
  • staging area:暂存区/缓存区
  • local repository:版本库或本地仓库
  • remote repository:远程仓库

一个简单的操作步骤:

$ git init $ git add . $ git commit
  • git init - 初始化仓库。
  • git add . - 添加文件到暂存区。
  • git commit - 将暂存区内容添加到仓库中。

创建仓库命令

下表列出了 git 创建仓库的命令:

命令说明
git init初始化仓库
git clone拷贝一份远程仓库,也就是下载一个项目。

提交与修改

Git 的工作就是创建和保存你的项目的快照及与之后的快照进行对比。

下表列出了有关创建与提交你的项目的快照的命令:

命令说明
git add添加文件到暂存区
git status查看仓库当前的状态,显示有变更的文件。
git diff比较文件的不同,即暂存区和工作区的差异。
git difftool使用外部差异工具查看和比较文件的更改。
git range-diff比较两个提交范围之间的差异。
git commit提交暂存区到本地仓库。
git reset回退版本。
git rm将文件从暂存区和工作区中删除。
git mv移动或重命名工作区文件。
git notes添加注释。
git checkout分支切换。
git switch (Git 2.23 版本引入)更清晰地切换分支。
git restore (Git 2.23 版本引入)恢复或撤销文件的更改。
git show显示 Git 对象的详细信息。

提交日志

命令说明
git log查看历史提交记录
git blame <file>以列表形式查看指定文件的历史修改记录
git shortlog生成简洁的提交日志摘要
git describe生成一个可读的字符串,该字符串基于 Git 的标签系统来描述当前的提交

远程操作

命令说明
git remote远程仓库操作
git fetch从远程获取代码库
git pull下载远程代码并合并
git push上传远程代码并合并
git submodule管理包含其他 Git 仓库的项目

Git 文件状态

Git 的文件状态分为三种:工作目录(Working Directory)、暂存区(Staging Area)、本地仓库(Local Repository)。了解这些概念及其交互方式是掌握 Git 的关键。

工作目录(Working Directory)

工作目录是你在本地计算机上看到的项目文件。它是你实际操作文件的地方,包括查看、编辑、删除和创建文件。所有对文件的更改首先发生在工作目录中。

在工作目录中的文件可能有以下几种状态:

  • 未跟踪(Untracked):新创建的文件,未被 Git 记录。
  • 已修改(Modified):已被 Git 跟踪的文件发生了更改,但这些更改还没有被提交到 Git 记录中。

暂存区(Staging Area)

暂存区,也称为索引(Index),是一个临时存储区域,用于保存即将提交到本地仓库的更改。你可以选择性地将工作目录中的更改添加到暂存区中,这样你可以一次提交多个文件的更改,而不必提交所有文件的更改。

  • 使用git add <filename>命令将文件从工作目录添加到暂存区。
  • 使用git add .命令将当前目录下的所有更改添加到暂存区。
git add <filename> # 添加指定文件到暂存区 git add . # 添加所有更改到暂存区

本地仓库(Local Repository)

本地仓库是一个隐藏在.git目录中的数据库,用于存储项目的所有提交历史记录。每次你提交更改时,Git 会将暂存区中的内容保存到本地仓库中。

使用git commit -m "commit message"命令将暂存区中的更改提交到本地仓库。

git commit -m "commit message" # 提交暂存区的更改到本地仓库

文件状态的转换流程

未跟踪(Untracked): 新创建的文件最初是未跟踪的。它们存在于工作目录中,但没有被 Git 跟踪。

touch newfile.txt # 创建一个新文件 git status # 查看状态,显示 newfile.txt 未跟踪

已跟踪(Tracked): 通过git add命令将未跟踪的文件添加到暂存区后,文件变为已跟踪状态。

git add newfile.txt # 添加文件到暂存区 git status # 查看状态,显示 newfile.txt 在暂存区

已修改(Modified): 对已跟踪的文件进行更改后,这些更改会显示为已修改状态,但这些更改还未添加到暂存区。

echo "Hello, World!" > newfile.txt # 修改文件 git status # 查看状态,显示 newfile.txt 已修改

已暂存(Staged): 使用git add命令将修改过的文件添加到暂存区后,文件进入已暂存状态,等待提交。

git add newfile.txt # 添加文件到暂存区 git status # 查看状态,显示 newfile.txt 已暂存

已提交(Committed): 使用git commit命令将暂存区的更改提交到本地仓库后,这些更改被记录下来,文件状态返回为已跟踪状态。

git commit -m "Added newfile.txt" # 提交更改 git status # 查看状态,工作目录干净
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/6 11:19:44

PLC与MCGS在灌装贴标生产线自动化中的应用

1. 灌装贴标生产线系统的工业自动化背景 在食品、药品、日化等快速消费品行业&#xff0c;灌装贴标生产线是最基础也是最关键的生产环节之一。传统的人工操作方式不仅效率低下&#xff0c;还存在卫生安全隐患和人为误差问题。以某饮料厂为例&#xff0c;采用人工灌装贴标时&…

作者头像 李华
网站建设 2026/8/6 11:17:02

UE5动画扭曲插件实战:实现Lyra级角色移动丝滑转向

1. 项目概述&#xff1a;为什么Lyra的移动动画如此丝滑&#xff1f; 如果你玩过或者拆解过UE5的Lyra示例项目&#xff0c;一定会对其中角色移动的流畅感和响应性印象深刻。无论是急停转向、侧向移动&#xff0c;还是斜坡上的姿态调整&#xff0c;角色的动画过渡都异常自然&…

作者头像 李华
网站建设 2026/8/6 11:15:58

轻资产创业赛道科普:互联网广告代理为何适配零基础创业者

不少普通创业者都会有这样的困惑&#xff1a;手里可调动资金有限&#xff0c;适合尝试哪些创业方向&#xff1f; 其实创业能否稳步起步&#xff0c;核心不在于资金体量&#xff0c;而在于赛道本身的落地性与市场需求。适配普通创业者的赛道&#xff0c;普遍具备轻资产、市场需求…

作者头像 李华
网站建设 2026/8/6 11:15:53

构建高效网络运维错题集:方法与实战

1. 项目概述&#xff1a;为什么我们需要信息网络系统错题集&#xff1f;在信息网络系统的日常运维和学习过程中&#xff0c;我们经常会遇到各种"疑难杂症"——那些反复出现却又难以根治的问题。就像学生在学习过程中需要错题本一样&#xff0c;网络工程师也需要一个系…

作者头像 李华
网站建设 2026/8/6 11:15:07

买SSD千万别只看容量,这几个参数决定使用体验

很多人在购买SSD固态硬盘时&#xff0c;都会陷入一个误区&#xff1a;认为容量越大、价格越低&#xff0c;就代表越划算。打开电商平台搜索SSD&#xff0c;经常能看到各种“1TB SSD”“2TB SSD”的促销信息。很多消费者第一反应是比较价格&#xff0c;然后选择容量更大的产品。…

作者头像 李华