🚀 Git 极速入门与速查手册

54 阅读5分钟

🚀 Git 极速入门与速查手册

本指南涵盖 Git 的核心概念、日常工作流以及“救命药丸”命令,助你快速上手。

一. Git 核心概念:四个工作区域

在使用命令之前,你需要理解 Git 的四个关键区域:

  1. 工作区 (Workspace)

    • 定义: 你电脑里能看到的目录,你在这里编写代码和进行修改。
  2. 暂存区 (Index/Stage)

    • 定义: 一个临时存放你已决定要提交的改动的地方(像是购物车的结算台)。
  3. 本地仓库 (Repository)

    • 定义: 安全存放数据的位置,这里包含你提交的所有历史版本。
  4. 远程仓库 (Remote)

    • 定义: 托管代码的服务器(如 GitHub, GitLab, Gitee),用于团队协作。

💡 数据流向:

工作区 add\xrightarrow{add} 暂存区 commit\xrightarrow{commit} 本地仓库 push\xrightarrow{push} 远程仓库


二. 安装与初始化

⚙️ 设置用户信息(第一次安装后必须做)

Git 需要知道你是谁,以便在提交记录中留下正确的作者信息。

git config --global user.name "你的名字"
git config --global user.email "你的邮箱"

🛠️ 开始一个项目

  1. 从零开始(本地新建项目)
    mkdir my-project         # 创建项目目录
    cd my-project
    git init                 # 初始化,当前目录下会多一个 .git 隐藏文件夹
    
  2. 克隆现有项目(远程到本地)
    git clone https://github.com/username/project.git
    

三. 基础工作流(日常最高频)

这是你日常开发中最常使用的三板斧:

步骤命令说明
查看git status随时查看文件状态(未跟踪、已修改、已暂存等)。
暂存git add .将所有修改和新增的文件添加到暂存区
提交git commit -m '清晰描述本次提交内容'将暂存区的改动提交到本地仓库

🔎 实用查看命令

git status                       # 查看工作区和暂存区的状态 (高频)
git diff                         # 查看工作区和暂存区之间的差异
git diff --staged                # 查看暂存区和本地仓库最新版本之间的差异
git log                          # 查看详细提交历史
git log --oneline                # 查看简洁历史 (一行一条,包含Commit ID)
git log -p -1                    # 查看最近一次提交的具体改动内容

四. 分支管理(Git 的杀手锏)

分支允许你在不影响主线(main/master)的情况下独立开发新功能或修复 Bug。

🌳 分支操作

git branch                       # 列出所有本地分支,带 * 号的是当前分支
git branch feature-a             # 创建新分支 feature-a
git switch feature-a             # 切换到 feature-a 分支 (推荐使用,旧版用 git checkout)
git switch -c feature-b          # **创建并立即切换**到 feature-b (最常用)

🤝 合并分支

当你开发完功能,需要把 feature-a 合并回 main

git switch main                  # 1. 先切回主分支 (或目标分支)
git merge feature-a              # 2. 把 feature-a 的工作合并进来

🗑️ 删除分支

git branch -d feature-a          # 删除已合并的分支 (安全删除)
git branch -D feature-a          # 强制删除未合并的分支 (谨慎使用)

五. 远程同步(团队协作)

🔗 关联远程仓库(如果是本地 init 的项目)

git remote add origin https://github.com/xxx/xxx.git

⬆️ 推送代码 (Push)

把本地的更新上传到服务器。

git push -u origin main          # 第一次推送时使用 -u,它会设置远程跟踪,以后只需 git push
git push                         # 后续推送,将本地提交推送到远程仓库

⬇️ 拉取代码 (Pull)

把服务器的更新下载并自动合并到本地。

git pull                         # 团队协作开始工作前,第一件事就是 pull
# 等同于: git fetch (下载远程更新) + git merge (合并到本地分支)

六. 🚑 救命药丸(撤销与回退)

新手最容易慌张的环节,请谨慎操作,了解每个命令作用的区域。

场景命令作用区域备注
工作区撤销git restore <文件名>工作区丢弃工作区的修改,文件回到上次提交或暂存时的状态。
暂存区撤销git restore --staged <文件名>暂存区将文件移出暂存区,但保留文件在工作区的修改。
修改上次提交信息git commit --amend本地仓库修改最后一次提交的注释。
暂存工作现场git stash工作区/暂存区把当前所有未提交的修改“冻结”起来,清空工作区,方便切换分支。
恢复暂存现场git stash pop工作区/暂存区恢复最近一次暂存的工作,并从栈中删除该记录。
版本回退git reset --hard HEAD~1本地仓库危险! 彻底丢弃最近一次提交,工作区文件也跟着回退。

七. 忽略文件 (.gitignore)

不是所有文件都需要上传(比如依赖包、密码文件、编译产物)。在项目根目录创建一个名为 .gitignore 的文件,写入要忽略的规则。

# .gitignore 内容示例

# 忽略所有 node_modules 文件夹
node_modules/

# 忽略所有 .log 结尾的文件
*.log

# 忽略特定配置文件 (如环境变量)
.env

# 忽略 macOS 系统文件
.DS_Store

# 忽略所有编译输出的 .exe 文件
*.exe

🌟 总结:新手速查表

场景命令最佳实践
项目开始git init / git clone决定项目来源。
日常三步git add . -> git commit -m "msg" -> git push每次完成一个小功能就提交一次。
随时自查git status没事多敲敲这个,确保你的操作在你预期的区域。
后悔药git restore / git reset确保知道撤销的级别(工作区、暂存区或提交)。
分支切换git switch -c <name>新建功能,必开分支。
同步远程git pull (上班第一件事) / git push (下班最后一件事)保持代码同步,避免冲突。

初学者,建议先只记住 add, commit, pull, push 这四板斧,遇到问题再查阅其他命令。