为什么你需要熟练掌握这15个命令?
Git是目前世界上最先进的分布式版本控制系统。很多同学在面对Git时,往往觉得命令太多、晦涩难懂,遇到冲突就慌神。
其实,在日常开发中(拉取代码、提交代码、合并分支、查看日志),你真正高频使用的命令不超过20个。本文将提炼出最核心的15个Git命令,并通过"场景+代码"的方式,帮你建立肌肉记忆。
必备前提
在开始之前,请确保你已经安装了Git,并且配置好了用户信息:
bash
git --version
# 配置全局用户(第一次使用必须)
git config --global user.name "你的名字"
git config --global user.email "你的邮箱"
1. git init - 初始化仓库
场景:你有一个本地项目文件夹,想把它交给Git管理。
bash
cd my-project
git init
执行后,文件夹内会生成一个隐藏的 .git 目录,这就是Git的"心脏"。
2. git clone - 克隆远程仓库
场景:你在GitHub/Gitee上看到了一个开源项目,想下载到本地。
bash
git clone https://github.com/用户名/仓库名.git
# 可选:克隆到指定文件夹
git clone https://github.com/用户名/仓库名.git myfolder
3. git status - 查看状态(最常用)
场景:想看看当前哪些文件被修改了、哪些还没提交。
bash
git status
小技巧:这是使用频率最高的命令,随时运行,随时掌握动态。
4. git add - 添加到暂存区
场景 :你修改了 index.html,准备提交,需要先把它放进"暂存区"。
bash
# 添加单个文件
git add index.html
# 添加所有改动(包括新增、修改、删除)
git add -A
# 或者
git add .
注意 :.gitignore 文件中的文件不会被添加。
5. git commit - 提交到本地仓库
场景:暂存区的代码已经准备好了,需要打个快照保存到本地。
bash
# 提交并添加备注(必须)
git commit -m "feat: 完成用户登录功能"
规范:好的commit message能提升团队协作效率,建议遵循约定式提交规范。
6. git push - 推送到远程仓库
场景:本地commit已经完成,需要把代码同步到GitHub上。
bash
# 第一次推送,建立关联
git push -u origin main
# 日常推送
git push
7. git pull - 拉取远程更新
场景:早上到公司,或者同事提交了代码,你需要把最新的代码拉下来。
bash
git pull
# 等价于 git fetch + git merge
8. git branch - 管理分支
场景:开发新功能时,不想影响主分支,需要创建自己的分支。
bash
# 列出所有本地分支
git branch
# 创建新分支
git branch feature-login
# 删除分支
git branch -d feature-login
9. git checkout / git switch - 切换分支
场景:从主分支切换到自己的开发分支。
bash
# 旧版写法(依然通用)
git checkout feature-login
# 新版Git推荐用法(更语义化)
git switch feature-login
# 创建并切换(常用)
git checkout -b feature-pay
10. git merge - 合并分支
场景 :功能开发完了,需要把 feature-login 的代码合并回 main 分支。
bash
# 第一步:先切回目标分支
git checkout main
# 第二步:合并功能分支
git merge feature-login
注意 :这一步经常会出现冲突,需要手动解决。
11. git log - 查看提交历史
场景:想看看这个项目之前是谁提交的代码,或者想回退到某个版本。
bash
# 完整日志
git log
# 简洁版(一行显示)
git log --oneline
# 图形化显示
git log --graph
12. git diff - 查看改动内容
场景:改代码改嗨了,想看看具体改了哪些内容,防止误提交。
bash
# 查看工作区 vs 暂存区的差异
git diff
# 查看暂存区 vs 上次提交的差异
git diff --staged
13. git stash - 暂存当前工作
场景:正在开发功能A,突然有个紧急Bug要修,但又不想提交半成品代码。
bash
# 把当前修改藏起来
git stash
# 恢复暂存的工作
git stash pop
14. git remote - 管理远程仓库
场景:查看当前项目关联的远程仓库地址,或者更换远程地址。
bash
# 查看远程仓库名称及地址
git remote -v
# 添加远程仓库
git remote add origin https://github.com/user/repo.git
15. git reset - 版本回退
场景:提交代码后发现写错了,想撤销这次提交。
bash
# 软回退:只移动HEAD指针,保留代码改动(撤销commit,保留add)
git reset --soft HEAD~1
# 硬回退:彻底丢弃最后一次提交的所有改动(危险操作)
git reset --hard HEAD~1
警告 :--hard 一定要慎用,会丢失代码!
实战演练:一次完整的开发流程
为了帮你串起这些命令,我们模拟一个最简单的功能开发流程:
-
拿到新任务 :从远程仓库拉取最新代码。
bashgit pull -
创建功能分支 。
bashgit checkout -b feature-new-page -
写代码 ... (修改了
page.html和style.css) -
查看状态 ,确认改了什么。
bashgit status git diff page.html -
添加到暂存区并提交 。
bashgit add . git commit -m "feat: 新增页面布局" -
切回主分支,拉取最新代码 (防止别人在这期间提交了代码)。
bashgit checkout main git pull -
合并功能分支 。
bashgit merge feature-new-page -
推送到远程 。
bashgit push -
(可选)删除本地功能分支 。
bashgit branch -d feature-new-page
总结
| 命令 | 核心作用 | 使用频率 |
|---|---|---|
init / clone |
初始化/下载项目 | ⭐⭐ |
add / commit |
本地提交 | ⭐⭐⭐⭐⭐ |
push / pull |
同步远程 | ⭐⭐⭐⭐⭐ |
branch / checkout |
分支操作 | ⭐⭐⭐⭐ |
merge |
合并代码 | ⭐⭐⭐ |
status / log / diff |
查看状态 | ⭐⭐⭐⭐⭐ |
掌握了以上15个命令,你已经具备了独立使用Git进行版本控制的能力。当然,Git非常强大,还有 rebase、cherry-pick、reflog 等高阶命令,但在打好地基之前,用好这15个命令足以应对绝大多数工作场景。
你在使用Git时遇到过最棘手的Bug是什么?欢迎在评论区留言讨论!