前言
在多人协作开发中,Git 是当之无愧的“版本控制之王”。
不管你是写 Java、Python 还是 Go,入职第一件事通常就是:“把代码 Clone 下来,配好环境。”
很多新手对 Git 的理解停留在“背命令”的阶段,一旦遇到报错就手足无措。其实,Git 的核心在于理解它的三个工作区域。搞懂了这个,命令自然就记住了。
- 工作区 (Workspace): 就是你电脑里能看到的目录,你在里面写代码。
- 暂存区 (Stage/Index): 一个临时存放改动的地方(
git add后去的地方)。 - 本地仓库 (Repository): 安全存放所有版本数据的地方(
git commit后去的地方)。 - 远程仓库 (Remote): 托管代码的服务器,如 GitHub、GitLab(
git push后去的地方)。
今天我们就按照代码流转的顺序,梳理一遍最核心的 Git 命令。
1. 起步:配置与获取
在一切开始之前,你得先告诉 Git 你是谁。
Bash
# 设置用户名和邮箱(全局配置,一次即可) git config --global user.name "Your Name" git config --global user.email "email@example.com" # 查看当前配置 git config --list
获取代码仓库有两种方式:
Bash
# 方式A:从远程克隆一个现有的项目(最常用) git clone https://github.com/username/project.git # 方式B:在本地初始化一个新的空仓库 mkdir my-project cd my-project git init
2. 日常循环:写代码 -> 提交
这是你每天重复次数最多的动作。
A. 查看状态 (最重要的命令)
不知道自己改了啥?不知道有没有漏提交?没事多敲敲它。
Bash
git status
B. 添加到暂存区 (add)
把工作区的修改,“快照”一份放到暂存区。
Bash
# 添加指定文件 git add README.md # 添加当前目录下的所有文件(最常用) git add .
C. 提交到本地仓库 (commit)
把暂存区的内容,正式生成一个版本。
Bash
# -m 后面跟的是提交信息,一定要写清楚改了什么! git commit -m "fix: 修复了登录页面的bug"
D. 后悔药:撤销修改
- 场景1:改乱了,想丢弃工作区的修改(回到上一次 commit 的状态)
Bash
git checkout -- filename # 或者新版命令 git restore filename
- 场景2:
add多了,想把它从暂存区拿出来(变回红色的未 staged 状态)
Bash
git reset HEAD filename
3. 同步:与世界接轨
代码写好了,得传到服务器上给同事看。
A. 推送到远程 (push)
Bash
# 将本地的 master 分支推送到 origin 主机的 master 分支 git push origin master # 如果已经关联过,直接简写 git push
B. 拉取远程更新 (pull)
每天早上开工前,第一件事应该是拉取同事的代码,防止冲突。
Bash
# 拉取并自动合并 git pull # 等价于下面两步操作: # git fetch (下载更新) + git merge (合并)
4. 查看历史:考古挖掘
想看看过去发生了什么?
Bash
# 查看提交日志 git log # 查看简洁版日志(一行一条,很清晰) git log --oneline # 查看图形化分支历史 git log --graph --oneline --all
5. 进阶技巧:.gitignore
有些文件是不应该提交到 Git 里的,比如:
- Java 的
.class文件、target/目录。 - Python 的
__pycache__/。 - IDE 的配置文件
.idea/、.vscode/。 - 包含密码的配置文件。
你需要项目根目录下创建一个名为 .gitignore 的文件:
Plaintext
# 忽略 target 目录下的所有文件 target/ # 忽略所有 .log 结尾的文件 *.log # 忽略 IDE 配置 .idea/
总结:常用命令速查
| 动作 | 命令 | 解释 |
| 开始 | git clone <url> |
复制远程仓库 |
| 查状态 | git status |
现在的仓库处于什么情况 |
| 暂存 | git add . |
把修改加入清单 |
| 提交 | git commit -m "msg" |
把清单封存成版本 |
| 上传 | git push |
发送给服务器 |
| 下载 | git pull |
从服务器获取最新版 |
| 看日志 | git log --oneline |
查看历史记录 |
掌握这 7 个命令,你已经可以应对 90% 的日常开发工作了。