Git 使用教程与常用命令详解

Chen Xi
Chen Xi

Git 是分布式版本控制系统。它记录项目快照,让开发者能够比较、合并和恢复变更,并通过远程仓库协作。

本文于 2026-07-29 按当前 Git 命令复核。示例中的分支名统一使用 main

1. 三个需要先理解的区域

  • 工作区:正在编辑的文件。
  • 暂存区:下一次提交准备包含的变更。
  • 仓库:已经提交的历史记录。

git status 是最值得频繁使用的命令,它会说明文件在哪个区域,并通常给出下一步提示。

2. 安装和身份配置

Git 官方网站 安装适合系统的版本。Ubuntu 也可以使用:

1
2
sudo apt update
sudo apt install git

首次使用时配置提交者身份:

1
2
3
git config --global user.name "Your Name"
git config --global user.email "[email protected]"
git config --global init.defaultBranch main

检查配置及来源:

1
git config --list --show-origin

3. 从创建到第一次提交

初始化新仓库:

1
git init

或者克隆已有仓库:

1
git clone <repository-url>

检查、暂存并提交:

1
2
3
4
git status
git add <file>
git diff --staged
git commit -m "Describe the change"

查看简洁历史:

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
2
git tag -a v1.0.0 -m "Release v1.0.0"
git push origin v1.0.0

提交前建议运行:

1
2
3
git diff
git diff --staged
git status

保持一次提交只解决一个清晰问题,并写明变更目的。这样比“大而杂”的提交更容易审查和回退。

参考资料