Git 命令行完全手册:账号、安装与高频命令

工欲善其事,必先利其器。在版本控制的江湖中,Git 命令行 便是那柄最锋利的剑,而开发者身份则是你在代码世界的通行令牌。本章将带你完成从"零"到"能战"的跨越------安装 Git Bash、铸造开发者身份、掌握核心命令,让你的每一次提交都掷地有声。

一、Git Bash:Windows 下的利刃

Git Bash 是 Git for Windows 项目提供的一个轻量级开发环境,它本质上是一个基于 MinGW 的终端模拟器。它不仅包含 Git 版本控制工具,还集成了完整的 Linux 命令行环境------lscdgrepawk 等常用命令均可直接使用。

安装步骤:

  1. 下载安装包 :访问 Git 官网 git-scm.com/download/win,根据系统位数选择 32 位或 64 位版本。

  2. 运行安装程序 :双击 .exe 文件,按提示完成安装。建议自定义安装路径时选择无空格、无中文的目录(如 D:\Environment\Git)。

  3. 验证安装 :安装完成后,在任意文件夹中右键单击,若出现 "Git Bash Here" 选项,即表示安装成功。

启动方式 :在任意目录右键选择 Git Bash Here,终端便会自动定位到当前目录。这一操作极大提升了日常使用的便捷性------无需手动 cd 切换路径。

二、开发者身份:Git 账号的铸造

Git 的每一次提交都会记录作者信息(用户名和邮箱)。这些信息不仅用于标识代码归属,在 GitHub、GitLab 等平台上,平台还会自动将提交与账号关联起来。

配置全局身份(推荐):

bash

复制代码
git config --global user.name "你的名字"
git config --global user.email "your_email@example.com"

使用 --global 选项,这些配置将应用于当前用户的所有 Git 仓库。建议使用与 GitHub/GitLab 等平台一致的邮箱,以便平台自动关联你的提交记录。

配置仓库级身份(特殊场景):

若需要在某个特定仓库中使用不同的身份(例如个人项目用个人邮箱、公司项目用公司邮箱),只需去掉 --global 选项即可:

bash

复制代码
cd /path/to/your/repo
git config user.name "另一个名字"
git config user.email "another@example.com"

配置的优先级:系统级 → 全局级 → 仓库级,后者覆盖前者。

GitHub 账号注册 :访问 github.com,点击右上角 Sign up ,填写邮箱、用户名和密码即可完成注册。注册后建议将本地 Git 的 user.nameuser.email 设置为与 GitHub 账号一致的信息。

三、Git 命令枢钮:按场景分类的核心命令

以下按开发场景分类,覆盖日常工作中 90% 以上的操作需求。

3.1 仓库初始化与克隆
命令 说明
git init 在当前目录初始化一个新的 Git 仓库
git clone <url> 克隆远程仓库到本地
git clone -b <分支名> <url> 克隆指定分支
git clone --depth 1 <url> 浅克隆,只取最新提交,节省时间和空间

实操示例:

bash

复制代码
# 新建项目并初始化
mkdir my-project && cd my-project
git init

# 克隆现有项目
git clone https://github.com/username/repo.git
3.2 日常核心操作(工作区 → 暂存区 → 仓库)

理解 Git 的三大区域 是掌握版本控制的基础:工作区 (你正在编辑的文件)→ git add暂存区 (待提交的快照)→ git commit仓库(历史版本记录)。

命令 说明
git status 查看工作区和暂存区的文件状态
git status -sb 短格式查看分支和文件状态
git add <文件> 将指定文件添加到暂存区
git add . 添加当前目录所有变更到暂存区
git add -p 交互式暂存,逐块挑选改动加入暂存区
git commit -m "消息" 将暂存区内容提交到本地仓库
git commit -am "消息" 跳过 add,直接提交已跟踪的文件
git commit --amend 修改最近一次提交信息

实操示例:

bash

复制代码
# 标准提交流程
git status -sb          # 查看当前状态
git add .               # 添加所有改动
git diff --staged       # 提交前查看暂存区内容[reference:34]
git commit -m "feat: 添加用户登录模块"
3.3 查看与比较
命令 说明
git log 查看完整提交历史
git log --oneline 一行一个提交,简洁展示
git log --graph --oneline 图形化显示分支历史
git log --author="名字" 按作者过滤提交
git diff 查看工作区与暂存区的差异
git diff --staged 查看暂存区与版本库的差异
git show <commit-id> 查看某次提交的详细内容
3.4 分支管理(协作核心)

分支是 Git 最强大的特性之一------它允许你在不影响主代码的前提下,开辟独立分支开发新功能或修复 Bug。

命令 说明
git branch 查看本地分支列表
git branch -a 查看本地 + 远程全部分支
git branch <新分支名> 创建新分支
git checkout <分支名> 切换分支
git switch <分支名> 切换分支(Git 2.23+ 推荐)
git checkout -b <新分支> 创建并切换分支
git switch -c <新分支> 创建并切换分支(Git 2.23+)
git merge <分支> 将目标分支合并到当前分支
git merge --no-ff <分支> 禁用快进合并,保留合并记录
git branch -d <分支> 删除已合并的分支
git branch -D <分支> 强制删除未合并的分支
git rebase -i HEAD~n 交互式变基,整理最近 n 个提交

实操示例:

bash

复制代码
# 开发新功能
git switch -c feature/payment      # 创建并切换到新分支
# ... 编写代码 ...
git add . && git commit -m "feat: 支付功能"
git switch main                    # 切回主分支
git merge --no-ff feature/payment  # 合并并保留分支记录
git branch -d feature/payment      # 删除已合并的分支
3.5 远程仓库协作
命令 说明
git remote -v 查看已关联的远程仓库
git remote add origin <url> 添加远程仓库源
git push origin <分支> 推送本地分支到远程
git push -u origin <分支> 首次推送并关联远程分支
git pull origin <分支> 拉取远程并合并到当前分支
git pull --rebase 拉取并用变基方式合并
git fetch --prune 拉取远程变化并删除失效引用

实操示例:

bash

复制代码
# 关联远程仓库并首次推送
git remote add origin https://github.com/username/repo.git
git push -u origin main    # -u 建立关联,后续只需 git push
3.6 撤销与回退(安全第一)
命令 说明
git reset HEAD <文件> 将文件从暂存区撤回到工作区
git checkout -- <文件> 丢弃工作区的修改
git reset --hard <commit-id> 回退到指定版本(慎用!会丢失改动)
git revert <commit-id> 撤销某次提交(生成新的反向提交,安全)
git stash 暂存当前工作现场
git stash pop 恢复并删除最近的 stash
git reflog 查看操作记录,找回丢失的 commit

四、效率提升:配置别名与 Bash 技巧

配置 Git 别名,大幅缩短常用命令的输入时间:

bash

复制代码
git config --global alias.co checkout
git config --global alias.br branch
git config --global alias.ci commit
git config --global alias.st status
git config --global alias.lg "log --graph --oneline"

配置后,git st 等同于 git statusgit lg 直接显示图形化日志。

Git Bash 中的文件操作命令

命令 说明
ls / ls -a 查看当前目录内容 / 包含隐藏文件
cd <目录> 切换目录
mkdir <目录> 创建目录
touch <文件> 创建文件
cat <文件> 查看文件全部内容
pwd 显示当前绝对路径

五、命令速查总表(一页收藏)

分类 核心命令
初始化 git init / git clone
日常操作 git status / git add / git commit / git diff
查看历史 git log / git show
分支管理 git branch / git switch / git merge / git rebase
远程协作 git remote / git push / git pull / git fetch
撤销回退 git reset / git revert / git stash / git reflog

最佳实践提醒 :每次提交前先 git status -sb 确认状态;提交信息使用现在时、简洁清晰;团队共享分支上慎用 rebase,避免给协作者制造麻烦。