Git 命令详解
将 Git 命令视为管理代码快照、变更与团队协作的工具。
吐槽一下: 我不鼓励别人复制答案,我希望每个人可以有自己的表达。
核心功能分类:
检查工作区 → status, log, diff
暂存与追踪 → add, reset, rm
提交版本 → commit, tag
分支与合并 → branch, checkout, merge, rebase
团队协作 → clone, fetch, pull, push
撤销与修复 → checkout --, revert, reset
1️⃣ 检查与探索(查看历史与状态)
用于理解仓库当前状态的命令:
git status → 显示工作区与暂存区的变更状态
git log → 按时间倒序显示提交历史
git log --oneline → 简略版提交历史(单行显示)
git diff → 显示未暂存的变更内容
git diff --staged → 显示已暂存的变更内容
git show → 显示特定提交的详细信息
git branch → 列出本地分支(当前分支高亮显示)
git remote -v → 显示已配置的远程仓库
2️⃣ 追踪与暂存(准备代码快照)
将变更纳入 Git 管控的命令:
git add file.txt → 将 file.txt 的变更加入暂存区
git add . → 暂存当前目录所有变更
git reset file.txt → 将文件移出暂存区
git rm file.txt → 删除文件并记录删除操作
3️⃣ 提交与版本管理(记录代码快照)
将暂存内容保存为新版本的命令:
git commit -m "说明" → 提交暂存内容并添加描述
git commit -am "说明" → 自动暂存已跟踪文件并提交
git commit --amend → 修改最新提交(可修正描述或内容)
git tag v1.0 → 为当前提交创建版本标签
4️⃣ 分支与合并(并行开发)
管理多线开发的命令:
git branch new-feature → 创建新分支
git checkout new-feature → 切换到指定分支
git switch -c new-feature → 创建并切换分支(新版本命令)
git merge feature → 将 feature 分支合并到当前分支
git rebase master → 将当前分支变基到 master 分支
5️⃣ 远程协作(推送与拉取)
与远程仓库交互的命令:
git clone <仓库地址> → 克隆远程仓库到本地
git fetch → 获取远程仓库更新(不自动合并)
git pull → 获取远程更新并自动合并
git push origin main → 将本地提交推送到远程主分支
git remote add origin <地址> → 添加远程仓库地址
git push --tags → 将本地标签推送到远程
6️⃣ 撤销与修复(修正错误)
用于回退或清理的命令:
git checkout -- file.txt → 丢弃工作区文件的修改
git revert <提交号> → 创建新提交来撤销指定提交
git reset --hard <提交号> → 重置分支指针(慎用:会清除后续提交)
git reflog → 查看操作记录(可用于恢复误删提交)