绿豆沙の小窝

Back

Git 入门

为什么要学 Git#

写代码最怕两件事:改崩了回不去,多人协作互相覆盖。Git 解决的就是这两个问题——版本回溯和协作并行。

简单理解:Git 给你的项目拍快照,随时可以回到任意历史节点,每个协作者各自在自己的分支上干活,最后合并到一起。

基础概念#

概念解释
仓库 (Repository)被 Git 管理的项目目录,包含完整历史
工作区 (Working Directory)你正在编辑的文件,未暂存
暂存区 (Staging Area)git add 后的临时区域,准备提交
提交 (Commit)一次快照,记录文件变更,有唯一 ID
分支 (Branch)一条独立的开发线,可并行、可合并
远程 (Remote)托管在 GitHub/GitLab 等服务器上的仓库副本

工作流程:修改文件 → git add 到暂存区 → git commit 提交到仓库 → git push 推送到远程

工作区  ──add──▶  暂存区  ──commit──▶  本地仓库  ──push──▶  远程仓库
  ◀─────────── checkout ───────────  ◀── pull ───────────
plaintext

上手配置#

# 设置用户名和邮箱(必做)
git config --global user.name "你的名字"
git config --global user.email "your@email.com"

# 设置默认分支名为 main
git config --global init.defaultBranch main

# 查看配置
git config --list
bash

日常使用:单人项目#

提交信息规范#

推荐约定式提交 ↗:

<type>: <description>

type 常见取值:
feat     新功能
fix      修复 bug
docs     文档
refactor 重构(不改变功能)
chore    杂项(构建、依赖等)
test     测试
plaintext

好的提交信息一眼能看懂做了什么,别写 “update”、“fix bug” 这种模糊描述。

分支操作:多人协作的核心#

一个典型的工作流:

main ───●───●───●──────────●────────── (稳定版本)
             \            / (merge)
feature ──────●────●─────●  (开发新功能)
plaintext

远程协作#

# 克隆仓库
git clone https://github.com/用户名/仓库名.git

# 拉取远程更新
git pull                      # = fetch + merge
git pull --rebase             # 推荐:保持提交历史线性

# 推送本地分支到远程
git push origin feature/login

# 查看远程仓库信息
git remote -v
bash

撤销操作:后悔药#

解决冲突#

当两个分支修改了同一文件的同一行,合并时会产生冲突:

git merge feature/login
# Auto-merging src/main.py
# CONFLICT (content): Merge conflict in src/main.py
bash

冲突文件中会出现标记:

<<<<<<< HEAD
print("main 分支的内容")
=======
print("feature 分支的内容")
>>>>>>> feature/login
plaintext

手动编辑保留需要的部分 → 删除标记 → git add → git commit 完成合并。

减少冲突的技巧:

  • 经常拉取主分支合并:git pull --rebase
  • 分支存活周期不要太长
  • 一个人尽量只改一个模块

实用技巧#

推荐工作流:GitHub Flow#

1. 从 main 拉出功能分支
2. 在分支上开发和提交
3. 推送到远程,创建 Pull Request
4. 代码审查通过后合并到 main
5. 删除功能分支
plaintext

简单有效,适合个人项目和中小团队。

总结#

命令用途
git init / clone创建或获取仓库
git add暂存修改
git commit提交到本地仓库
git push / pull与远程同步
git branch / switch分支操作
git merge合并分支
git stash暂存临时改动
git reset撤销操作
git log / status / diff查看信息

Git 命令很多,但日常用到的就这十几个。关键是理解工作区 → 暂存区 → 仓库的流转,和分支的创建与合并。剩下的边用边查即可。

Git 入门
https://lvdousha26.github.io/blog/git-tutorial
Author lvdousha
Published at May 18, 2026