Git基础命令详解:从初始化到清理的完整工作流
Git作为现代软件开发中最流行的版本控制系统,掌握其基础命令是每个开发者的必备技能。本文将详细介绍Git的10个核心命令,涵盖从仓库创建到文件清理的完整工作流程。
1. git init - 初始化仓库(权重:0.1)
git init命令用于在当前目录创建一个新的Git仓库。这是使用Git的第一步,它会创建一个名为.git的隐藏目录,其中包含所有必要的仓库元数据。
使用场景:
- 开始一个新项目
- 将现有项目转换为Git仓库
代码示例:
# 在当前目录初始化Git仓库
mkdir my-project
cd my-project
git init
# 输出:Initialized empty Git repository in /path/to/my-project/.git/
2. git clone - 克隆仓库(权重:0.1)
git clone命令用于从远程仓库复制一个完整的Git仓库到本地。这是获取现有项目代码的常用方式。
使用场景:
- 获取开源项目代码
- 从团队仓库下载项目
代码示例:
# 克隆远程仓库到本地
git clone https://github.com/user/repository.git
# 克隆到指定目录
git clone https://github.com/user/repository.git my-local-folder
3. git add - 添加文件(权重:0.1)
git add命令将文件添加到暂存区(staging area),准备提交。这是提交更改前的必要步骤。
使用场景:
- 添加新文件到版本控制
- 将修改的文件标记为待提交
代码示例:
# 添加单个文件
git add README.md
# 添加所有修改的文件
git add .
# 添加所有.txt文件
git add *.txt
4. git commit - 提交更改(权重:0.1)
git commit命令将暂存区的更改保存到本地仓库,创建一个新的提交记录。每次提交都应该有清晰的提交信息。
使用场景:
- 保存阶段性工作成果
- 记录代码变更历史
代码示例:
# 提交并添加提交信息
git commit -m "添加用户登录功能"
# 提交所有已跟踪文件的修改(跳过git add)
git commit -a -m "修复bug"
5. git status - 查看状态(权重:0.1)
git status命令显示工作目录和暂存区的状态,帮助了解哪些文件被修改、添加或删除。
使用场景:
- 查看当前工作状态
- 确认哪些文件需要提交
代码示例:
# 查看详细状态
git status
# 查看简洁状态
git status -s
6. git log - 查看提交历史(权重:0.1)
git log命令显示提交历史记录,包括提交哈希、作者、日期和提交信息。
使用场景:
- 查看项目历史
- 追踪特定更改
代码示例:
# 查看完整提交历史
git log
# 查看简洁历史(单行显示)
git log --oneline
# 查看最近3次提交
git log -3
7. git diff - 查看差异(权重:0.1)
git diff命令显示文件之间的差异,比较工作目录、暂存区或提交之间的更改。
使用场景:
- 查看未暂存的修改
- 比较不同版本的文件
代码示例:
# 查看工作目录与暂存区的差异
git diff
# 查看暂存区与最新提交的差异
git diff --staged
# 比较两个提交
git diff commit1 commit2
8. git reset - 撤销更改(权重:0.1)
git reset命令用于撤销提交或取消暂存,有三种模式:soft、mixed(默认)和hard。
使用场景:
- 撤销错误的提交
- 取消已暂存的文件
代码示例:
# 撤销最新提交,保留更改在工作目录(soft)
git reset --soft HEAD~1
# 撤销最新提交,取消暂存但保留更改(mixed)
git reset HEAD~1
# 完全撤销最新提交,丢弃所有更改(hard)
git reset --hard HEAD~1
9. git checkout - 切换与恢复(权重:0.1)
git checkout命令用于切换分支或恢复文件到特定版本。
使用场景:
- 切换工作分支
- 恢复误删的文件
代码示例:
# 切换到已有分支
git checkout feature-branch
# 创建并切换到新分支
git checkout -b new-feature
# 恢复文件到最新提交版本
git checkout -- filename.txt
10. git clean - 清理未跟踪文件(权重:0.1)
git clean命令删除工作目录中未跟踪的文件和目录,通常用于清理构建产物或临时文件。
使用场景:
- 清理编译生成的文件
- 删除测试产生的临时文件
代码示例:
# 查看将被删除的文件(干运行)
git clean -n
# 删除未跟踪的文件
git clean -f
# 删除未跟踪的文件和目录
git clean -fd
技术总结
这10个Git命令构成了Git基础工作流的核心:
- 仓库管理:
git init和git clone用于创建和获取仓库 - 更改管理:
git add、git commit、git status构成基本的提交循环 - 历史查看:
git log和git diff帮助追踪和比较更改 - 错误恢复:
git reset、git checkout和git clean提供多种撤销和清理选项
每个命令的权重均为0.1,表明它们在Git基础使用中具有同等重要性。掌握这些命令后,开发者可以:
- 独立管理本地代码版本
- 有效协作于团队项目
- 快速恢复错误操作
- 保持代码仓库的整洁
建议初学者按照init/clone → add → commit → status → log → diff → reset/checkout/clean的顺序学习和练习这些命令,逐步构建完整的Git工作流理解。
📝 发现内容有误?点击此处直接编辑