Git 基本操作
Git 的工作方式是保存项目的各个版本快照,方便后续比较和回溯。
本章将对有关创建与提交你的项目快照的命令作介绍,帮助您掌握版本控制的基础操作。
最常用的 Git 命令:git clone
、git push
、git add
、git commit
、git checkout
、git pull
,后面我们会详细介绍。
Git 仓库的组成部分:
- 工作区:直接编辑文件的目录,所有修改都发生在这里,但尚未被 Git 跟踪。
- 暂存区:用
git add
将工作区的修改暂存到此区域,准备下次提交,是工作区和仓库的中间层。 - 本地仓库:通过
git commit
将暂存区的更改永久保存到版本历史中,存储在.git
目录下,包含所有提交记录。 - 远程仓库:托管在服务器(如 GitHub、GitLab)上的云仓库,通过
git push
上传本地提交,或git pull
同步他人更改。
✅ 下面是一个简单的 Git 命令操作实例:
$ git init # 初始化仓库
$ git add . # 添加文件到暂存区
$ git commit # 将暂存区内容添加到仓库中
创建仓库命令
Git 的工作始于创建一个仓库,仓库是 Git 用来存储项目文件和版本历史的地方。
✅ 下表列出了 git 创建仓库的命令:
提交与修改
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 采用三态文件管理机制,文件在工作目录中可能处于以下三种状态之一:
1. 已修改(Modified)
- 文件已被修改但尚未暂存
- 存在于工作目录中,尚未进入暂存区
2. 已暂存(Staged)
- 修改后的文件已被标记,准备提交
- 文件已添加到暂存区(Index/Stage)
3. 已提交(Committed)
- 文件已安全地存储在本地仓库中
- 文件的最新版本已被永久记录
文件状态的转换流程
未跟踪(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 # 查看状态,工作目录干净
评论区 0
发表评论
教程介绍
Git 是一个分布式版本控制系统,用于高效管理文件的修改历史,支持多人协作开发。
37
章节
242
阅读
0
评论
反馈提交成功
感谢您的反馈,我们将尽快处理您的反馈