Git 使用教程与常用命令详解
Git 是分布式版本控制系统。它记录项目快照,让开发者能够比较、合并和恢复变更,并通过远程仓库协作。
本文于 2026-07-29 按当前 Git 命令复核。示例中的分支名统一使用
main。
1. 三个需要先理解的区域
- 工作区:正在编辑的文件。
- 暂存区:下一次提交准备包含的变更。
- 仓库:已经提交的历史记录。
git status 是最值得频繁使用的命令,它会说明文件在哪个区域,并通常给出下一步提示。
2. 安装和身份配置
从 Git 官方网站 安装适合系统的版本。Ubuntu 也可以使用:
1 | sudo apt update |
首次使用时配置提交者身份:
1 | git config --global user.name "Your Name" |
检查配置及来源:
1 | git config --list --show-origin |
3. 从创建到第一次提交
初始化新仓库:
1 | git init |
或者克隆已有仓库:
1 | git clone <repository-url> |
检查、暂存并提交:
1 | git status |
查看简洁历史:
1 | git log --oneline --graph --decorate |
不要盲目执行 git add .。先查看 git status,避免把密钥、构建产物或大文件放入提交;不应跟踪的内容应加入 .gitignore。
4. 分支与合并
创建并切换到新分支:
1 | git switch -c feature/example |
切换到已有分支:
1 | git switch main |
把目标分支合并进当前分支:
1 | git merge feature/example |
git switch 专门用于切换分支,比承担多种职责的旧式 git checkout 更清晰。处理冲突后,检查文件、暂存解决结果,再完成提交。
5. 与远程仓库协作
查看远程地址:
1 | git remote -v |
首次推送并设置上游:
1 | git push -u origin feature/example |
获取远程信息但暂不合并:
1 | git fetch origin |
拉取并合并当前分支的上游更新:
1 | git pull |
在团队项目中,先明确采用 merge 还是 rebase 工作流,不要在未经协商的情况下重写其他人已经依赖的公共历史。
6. 安全地撤销变更
取消暂存,但保留工作区修改:
1 | git restore --staged <file> |
丢弃某个未提交文件的工作区修改:
1 | git restore <file> |
第二条命令会覆盖尚未提交的内容,执行前先用 git diff <file> 确认。撤销已经共享的提交时,通常优先创建反向提交:
1 | git revert <commit> |
git reset --hard 和强制推送可能永久丢失未保存工作或改写公共历史,不应作为常规撤销手段。
7. 标签和实用检查
创建带说明的版本标签并推送:
1 | git tag -a v1.0.0 -m "Release v1.0.0" |
提交前建议运行:
1 | git diff |
保持一次提交只解决一个清晰问题,并写明变更目的。这样比“大而杂”的提交更容易审查和回退。