基础查看命令
查看Git状态
git status
显示当前工作目录的状态,包括已修改、已暂存、未跟踪的文件。
查看简洁状态
git status --porcelain
以简洁格式显示状态信息。
查看提交历史
git log --oneline -5
显示最近5次提交的简洁历史记录。
文件操作命令
添加文件到暂存区
git add .
将当前目录下所有修改的文件添加到暂存区。
git add 文件名
添加指定文件到暂存区。
恢复文件
git restore .
恢复工作目录中的所有文件到最后一次提交的状态。
git restore 文件名
恢复指定文件。
提交和推送命令
提交更改
git commit -m "提交信息"
将暂存区的更改提交到本地仓库。
推送到远程仓库
git push origin master
将本地master分支推送到远程origin仓库。
强制推送
git push --force origin master
⚠️ 危险操作:强制推送,会覆盖远程仓库的历史记录。
同步命令
拉取远程更改
git pull origin master
从远程master分支拉取最新更改并合并到本地。
合并提交
git commit
完成合并过程(通常在pull操作后有冲突时使用)。
git commit -m "合并远程更改"
使用指定消息完成合并。
实际使用场景
场景1:日常提交流程
# 1. 查看当前状态
git status
# 2. 添加所有更改
git add .
# 3. 提交更改
git commit -m "更新博客配置"
# 4. 推送到远程
git push origin master
场景2:解决推送冲突
# 1. 推送失败时,先拉取远程更改
git pull origin master
# 2. 如果有合并冲突,解决后提交
git commit -m "合并远程更改"
# 3. 再次推送
git push origin master
场景3:强制覆盖远程(谨慎使用)
# 当确定要用本地版本覆盖远程时
git push --force origin master
注意事项
- 备份重要数据:使用
--force参数前请确保重要数据已备份 - 团队协作:在团队项目中避免使用强制推送
- 提交信息:写清楚的提交信息,方便后续查看
- 频繁提交:小步快跑,频繁提交小的更改
博客提交三步曲 ⭐
在维护Jekyll博客时,最常用的就是这三个命令,可以说是Git的”黄金三角”:
# 第一步:添加所有更改到暂存区
git add .
# 第二步:提交更改到本地仓库
git commit -m "更新博客内容"
# 第三步:推送到GitHub触发自动部署
git push origin master
为什么是这三步?
-
git add .- 告诉Git:”我要提交这些修改”- 将工作区的修改添加到暂存区
.表示当前目录下的所有文件- 也可以用
git add -A添加所有更改(包括删除的文件)
-
git commit -m "消息"- 告诉Git:”请记录这次修改”- 将暂存区的内容正式提交到本地仓库
-m参数直接在命令行中写提交消息- 提交消息要简洁明了,说明这次改了什么
-
git push origin master- 告诉GitHub:”请更新我的博客”- 将本地仓库的提交推送到GitHub
origin是远程仓库的别名master是分支名(现在很多项目用main)
实战示例
比如你写了一篇新博文或修改了博客配置:
# 查看一下改了什么(可选)
git status
# 三步曲开始!
git add .
git commit -m "✨ 新增Git命令整理博文"
git push origin master
几分钟后,你的博客就自动更新了!就是这么简单。
提交消息小技巧
使用表情符号让提交记录更直观:
- ✨
:sparkles:- 新功能/新博文 - 🐛
:bug:- 修复问题 - 📝
:memo:- 更新文档 - 🎨
:art:- 改进代码结构/格式 - 🔧
:wrench:- 修改配置文件 - 🔥
:fire:- 删除代码或文件
GitHub Pages 自动构建
当你推送到GitHub后,GitHub Pages会自动:
- 检测到代码更改
- 使用Jekyll构建静态网站
- 部署到
https://用户名.github.io - 通常2-10分钟内生效
这就是为什么我们只需要推送代码,博客就能自动更新的原因!
总结
Git是版本控制的强大工具,掌握这些基础命令就能应对大部分日常开发需求。记住:
- 经常查看状态
git status - 及时提交更改
git commit - 谨慎使用强制操作
--force