GitHub 仓库 Git 命令完整指南

By Mige - 八月 23, 2026

GitHub 仓库 Git 命令完整指南
按使用场景分类,每个命令都附有真实范例和通俗解释。
一、首次设置(只需做一次)
1. 配置用户名和邮箱
git config --global user.name "你的名字"
git config --global user.email "your@email.com"
解释:告诉 Git 你是谁,每次提交都会记录这些信息。  --global  表示全局生效,这台电脑的所有仓库都用这个配置。
2. 查看配置
git config --list
解释:列出所有 Git 配置,检查是否设置正确。
二、创建/获取仓库
3. 初始化新仓库
# 在项目目录中执行
cd my-project
git init
解释:在当前目录创建一个  .git  隐藏文件夹,把这个目录变成 Git 仓库。刚开始是空的,没有任何文件被跟踪。
4. 克隆远程仓库
git clone https://github.com/用户名/仓库名.git# 或者指定目录名
git clone https://github.com/用户名/仓库名.git my-folder解释:把 GitHub 上的整个仓库下载到本地。会自动创建文件夹、初始化 Git、添加远程地址,一步到位。
三、日常开发流程(最常用)
5. 查看状态
git status
解释:查看当前工作区的状态——哪些文件改了、哪些还没提交、当前在哪个分支。这是最常用的命令,建议随时执行。
6. 添加文件到暂存区
# 添加单个文件
git add index.php

# 添加所有改动的文件
git add .

# 交互式添加(只添加部分改动)
git add -p
解释:把文件从"工作区"放到"暂存区",相当于告诉 Git "我要提交这些文件"。  git add .  最常用,但注意它会添加所有文件(包括不想提交的),建议配合  .gitignore  使用。
7. 提交到本地仓库
git commit -m "feat: 添加用户登录功能"
解释:把暂存区的文件真正保存到 Git 历史中。  -m  后面是提交信息,一定要写清楚改了啥,方便日后回溯。
8. 推送到 GitHub
# 第一次推送(同时设置上游分支)
git push -u origin main

# 之后的推送
git push
解释:把本地的提交上传到 GitHub 远程仓库。  -u  是第一次推送时建立本地分支和远程分支的关联,之后只用  git push  就行。
9. 拉取远程更新
git pull
解释:从 GitHub 下载最新的代码并自动合并到当前分支。每次开始写代码前先执行一次,避免冲突。
10. 拉取但不自动合并
git fetch
解释:只下载远程的最新代码,但不自动合并。你可以先看看别人改了啥,再决定怎么合并。
四、分支操作
11. 查看分支
# 查看本地分支
git branch

# 查看所有分支(包括远程)
git branch -a
解释:列出所有分支,当前所在分支前面有个  *  号。
12. 创建并切换分支
# 创建新分支
git branch feature/login

# 切换到该分支
git checkout feature/login

# 或者一步到位(推荐)
git checkout -b feature/login
解释:  -b  表示创建并立即切换。开发新功能时,永远从主分支切出一个新分支来写。
13. 切换分支
git checkout main
# 或者新版命令
git switch main
解释:切换到  main  分支。  switch  是 Git 2.23 之后的新命令,专门用于切换分支,语义更清晰。
14. 合并分支
# 先切换到目标分支(比如 main)
git checkout main

# 把 feature/login 分支合并进来
git merge feature/login
解释:把另一个分支的代码合并到当前分支。先切到  main  ,再把  feature/login  合进来。
15. 删除分支
# 删除本地分支
git branch -d feature/login

# 强制删除(未合并的分支)
git branch -D feature/login

# 删除远程分支
git push origin --delete feature/login
解释:功能开发完并合并后,清理不需要的分支。
五、PR 相关操作
16. 推送分支到远程(为 PR 做准备)
git push origin feature/login
解释:把你的功能分支推送到 GitHub,然后在 GitHub 网页上点击 "New Pull Request" 发起 PR。
17. 保持分支与主分支同步
# 方法一:合并(推荐新手)
git checkout feature/login
git merge main

# 方法二:变基(提交历史更干净)
git checkout feature/login
git rebase main
解释:你的分支开发了一段时间,主分支可能已经有新提交了。在发起 PR 之前,先把主分支的最新代码合并到你的分支,解决可能的冲突。
18. 压缩提交(PR 审查前整理历史)
# 压缩最近 3 个提交为 1 个
git rebase -i HEAD~3
解释:开发过程中可能有很多"改一下""再改一下"的琐碎提交,PR 之前把它们压缩成一个清晰的提交。执行后会打开编辑器,把  pick  改成  squash  即可。
六、解决冲突
19. 查看冲突文件
git status
解释:合并时如果有冲突,  git status  会列出所有冲突文件。
20. 解决冲突后继续合并
# 手动编辑冲突文件后git add 解决完的文件
git commit
解释:Git 会在冲突文件中标记  <<<<<<<  和  >>>>>>>  ,手动编辑保留正确代码,然后  add  +  commit  完成合并。
七、撤销操作
21. 撤销工作区的修改
# 撤销单个文件
git checkout -- index.php

# 新版命令
git restore index.php
解释:文件还没  add  ,想放弃修改回到上次提交的状态。谨慎使用,修改会丢失。
22. 撤销暂存区的文件
# 把文件从暂存区移回工作区
git reset HEAD index.php

# 新版命令
git restore --staged index.php
解释:不小心  git add  了不想提交的文件,把它从暂存区撤回来,文件内容不变。
23. 撤销最近一次提交
# 撤销提交,保留修改在工作区
git reset --soft HEAD~1

# 撤销提交,连修改一起丢弃
git reset --hard HEAD~1
解释:  --soft  是"撤销提交但保留代码改动",  --hard  是"彻底回到上一个版本"。  --hard  很危险,会丢失代码。
24. 推错了想撤回(谨慎使用)
# 本地回退后强制推送
git reset --hard HEAD~1
git push origin main --force
解释:如果已经  push  到 GitHub 了才发现提交有误,先本地回退再强制推送。注意:如果别人已经拉了你的代码,不要用  --force  ,改用  --force-with-lease  。
八、查看历史
25. 查看提交日志
# 简洁版
git log --oneline

# 图形化
git log --oneline --graph --all

# 查看某个文件的修改历史
git log -p index.php
解释:  --oneline  每行显示一个提交,  --graph  用 ASCII 图形显示分支关系。
26. 查看某次提交的改动
git show 提交ID
解释:查看某次提交具体改了哪些文件、哪些代码。
27. 查看文件的改动```bash
查看未暂存的改动
git diff
查看已暂存的改动
git diff --cached

**解释**:`git diff` 显示你改了但还没 `add` 的内容,`git diff --cached` 显示已经 `add` 了的内容。

---

## 九、标签管理

### 28. 创建标签

```bash
# 轻量标签
git tag v1.0.0

# 附注标签(推荐)
git tag -a v1.0.0 -m "正式版 v1.0.0 发布"
解释:给某个提交打上标签,通常用于版本发布。
29. 推送标签到 GitHub
git push origin v1.0.0
# 或者推送所有标签
git push --tags
解释:标签默认不会随  git push  推送,需要单独推送。
十、.gitignore 文件
30. 创建 .gitignore
# 在项目根目录创建 .gitignore 文件
touch .gitignore
解释:告诉 Git 哪些文件不要跟踪。常见的忽略内容:
# PHP 项目示例
vendor/
.env
*.log
.DS_Store
node_modules/
dist/
*.local
十一、完整工作流示例
# 1. 克隆项目
git clone https://github.com/xxx/forum.gitcd forum

# 2. 创建功能分支
git checkout -b feature/login

# 3. 写代码... 然后提交
git add .
git commit -m "feat: 添加登录页面"

# 4. 继续写... 再次提交
git add .
git commit -m "feat: 实现登录逻辑"

# 5. 推送分支到 GitHub
git push origin feature/login

# 6. 在 GitHub 上发起 PR

# 7. PR 审查通过后,在 GitHub 上合并

# 8. 切回主分支并拉取最新代码
git checkout main
git pull

# 9. 删除本地分支
git branch -d feature/login
十二、常用命令速查表| 操作 | 命令 | 频率 | 
| 查看状态 |  git status   | ⭐⭐⭐⭐⭐ | 
| 添加文件 |  git add .   | ⭐⭐⭐⭐⭐ | 
| 提交 |  git commit -m "信息"   | ⭐⭐⭐⭐⭐ | 
| 推送 |  git push   | ⭐⭐⭐⭐ | 
| 拉取 |  git pull   | ⭐⭐⭐⭐ | 
| 创建分支 |  git checkout -b 分支名   | ⭐⭐⭐ | 
| 切换分支 |  git checkout 分支名   | ⭐⭐⭐ | 
| 合并分支 |  git merge 分支名   | ⭐⭐⭐ | 
| 查看日志 |  git log --oneline   | ⭐⭐⭐ | 
| 查看差异 |  git diff   | ⭐⭐ | 
| 撤销修改 |  git restore 文件名   | ⭐⭐ | 
| 克隆仓库 |  git clone 地址   | ⭐ | 

一句话总结
日常开发记住5 个命令就够了:
git pull          # 拉取最新代码
git checkout -b xxx # 创建分支
git add .         # 添加改动
git commit -m "xxx"  # 提交
git push # 推送到 GitHub
其他命令遇到具体问题时再查即可,不用一次性全记住。

关注订阅我的公众号: 铭哥9369的散文与随笔
资源搜索: @lovouchat333  TG频道:@MFDYTG 免费、公益、订阅
欢迎投稿(技术分享、原创教程)至本站机器人: blog#mige.eu.org

AD友链:①枫铃网 ②网站导航 ③O520 ④情兽文学 ⑤学习Hexo ⑥在线网盘 ⑦在线图床 ⑧免费空间 ⑨枫铃社区 ⑩XFM Forum 



  • Share:

You Might Also Like

0 comments