Git常用命令整理

常用到的Git命令总结

Posted by 陆依萍 on December 19, 2024

基础查看命令

查看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

注意事项

  1. 备份重要数据:使用 --force 参数前请确保重要数据已备份
  2. 团队协作:在团队项目中避免使用强制推送
  3. 提交信息:写清楚的提交信息,方便后续查看
  4. 频繁提交:小步快跑,频繁提交小的更改

博客提交三步曲 ⭐

在维护Jekyll博客时,最常用的就是这三个命令,可以说是Git的”黄金三角”:

# 第一步:添加所有更改到暂存区
git add .

# 第二步:提交更改到本地仓库
git commit -m "更新博客内容"

# 第三步:推送到GitHub触发自动部署
git push origin master

为什么是这三步?

  1. git add . - 告诉Git:”我要提交这些修改”

    • 将工作区的修改添加到暂存区
    • . 表示当前目录下的所有文件
    • 也可以用 git add -A 添加所有更改(包括删除的文件)
  2. git commit -m "消息" - 告诉Git:”请记录这次修改”

    • 将暂存区的内容正式提交到本地仓库
    • -m 参数直接在命令行中写提交消息
    • 提交消息要简洁明了,说明这次改了什么
  3. 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