2026-07-19 09:28:31
本文提供一条“从个人到团队”的 Git 进阶学习路径,结合实际案例逐段拆解核心命令与流程。
创建仓库的两种常见路径:
本地从零开始:
git init在干净目录下执行即可创建 .git 隐藏文件夹。建议初始化后立即补充 .gitignore 与 README.md 文件。
从远程克隆现有项目:
git clone git@github.com:org/project.git建议默认使用 SSH 地址以减少频繁输入密码的麻烦。
实战经验:初始化阶段最容易忽略用户信息配置。完成以下命令,后续提交记录才不会出现匿名作者:
git config --global user.name "Your Name"git config --global user.email "you@email.com"
日常提交遵循“三段式”:
跟踪文件:
git status 观察脏文件(未暂存的文件)。
git add <file> 将目标文件放入暂存区。
撰写提交:
git commit -m "feat: 初始化项目结构"当提交信息涉及多行描述时,直接运行 git commit 进入编辑器更利于书写详细说明。
复盘历史:
git log --oneline --graph让历史结构一目了然。
此外:

创建与切换:
git branch feature/logingit switch feature/login新版 git switch 比传统 git checkout 更语义化。
保持主干干净:
主分支(main/master)只接收经过 Review 的合并。
日常开发在功能分支展开,然后通过 Pull Request 或 git merge --no-ff 回归主干,补充合并节点。
建议:
当多人并行时,推荐使用【主干 + 功能分支 + 预发布分支】的三层结构,既能快速回滚,又便于持续交付。

绑定远程仓库:
git remote add origin git@...推送策略:
第一次推送使用:
git push -u origin feature/login之后在分支里直接 git push 即可。
多人协作提示:
保持本地分支与远程同名,避免 git push origin HEAD:review/login 这类“临时分支”让同事困惑。
当团队需要设置多个远程时(如同时推送到 GitHub 与公司内网),可使用以下命令追加:
git remote set-url --add origin git@gitlab...
拉取并合并:
git pull --ff-only确保只有快进合并,历史保持线性。
变基保持整洁:
git fetch origingit rebase origin/main适合保持个人分支历史紧凑,但冲突处理步骤需要耐心。
若团队遵循“先 fetch,再 rebase,再 push --force-with-lease”,可以最大程度降低冲突风险,同时避免误覆盖他人提交。

最近一次提交写错信息:
git commit --amend撤销工作区修改:
git restore <file>重置到指定提交:
git reset --hard <commit>使用前务必确认不会丢失需要保留的内容;若不确定,可先 git reset --soft 或 git revert。
建议:在重大操作前执行以下命令做临时锚点,给自己留后路:
git tag backup/$(date +%Y%m%d-%H%M)
提示:配合 git show <tag> 可以快速查看某个里程碑的关键信息。

建议:遇到紧急修复需求时,先 stash 再切换分支是最稳妥的流程。

个人偏好:使用语义化版本号,并搭配 git tag release/2025-10 等平行序列,用于对齐业务档期。

命令组合化:
把 git status、git add、git commit 整合进脚本或使用命令别名,减少重复工作量。
图形化工具辅助:
SourceTree、Tower 或 VS Code Git 面板能降低认知负担,但核心理念仍建立在命令理解之上。
团队约定:
书面化提交信息规范(如 Conventional Commits)与分支命名约定,能让 Git 历史成为团队的沟通载体。
实际上日常使用的时候,Git 命令常用的就那几个,先总体看完所有知识卡片的内容,实际使用的时候,秉承着需要什么再去查什么的原则即可。