当前位置: 首页 > news >正文

Git 常用命令详解

Git 常用命令详解(含详细示例)

本文整理了 Git 日常使用中最常用的命令,适合初学者和日常查阅,如有错误,敬请指正,谢谢!


☁️ Git 使用流程入门(从 pull 和 push 开始)

1️⃣ 克隆远程仓库(首次使用)

git clone https://github.com/user/repo.git
cd repo
  • 说明:将远程仓库代码下载到本地并进入项目目录。

2️⃣ 日常更新远程仓库的代码(pull)

git branch                 # 查看当前所在的分支git checkout main              # 如果当前不在 main 分支,切换到主分支git pull origin main           # 拉取远程主分支的最新代码
  • 说明:每次开始开发前,建议先拉取最新远程更新,防止提交冲突。

3️⃣ 修改文件并保存

# 例如修改了 hello.py 文件
# 修改后保存文件

4️⃣ 添加到暂存区并提交

# 添加单个文件到暂存区
git add hello.py# 或添加所有已修改文件
git add .# 提交保存修改,并添加提交信息
git commit -m "修复 hello.py 中的语法错误"

5️⃣ 推送到远程仓库

git push origin main
  • 说明:将提交内容同步到远程仓库。

📁 初始化本地仓库

mkdir my-project
cd my-project
git init
  • 说明:在 my-project 目录中初始化一个空的 Git 仓库。

🔍 查看状态

git status
  • 说明:查看工作目录与暂存区的文件状态。

➕ 添加文件到暂存区

git add <文件名>     # 添加单个文件
git add .            # 添加所有更改过的文件

✅ 提交更改

git commit -m "提交说明"
  • 说明:将暂存区中的内容提交到本地版本库。

🔁 查看提交记录

git log              # 全量日志
git log --oneline    # 简洁格式

🔄 查看修改内容

git diff             # 工作目录与暂存区差异
git diff --cached    # 暂存区与上次提交差异

🗑️ 撤销修改

git checkout -- <文件名>
  • 说明:放弃当前工作目录对指定文件的修改(不可恢复)。

🔙 回退到某次提交

git log --oneline            # 找到想回退的提交ID
git reset --hard a1b2c3d     # 回退到指定提交(不可恢复)
  • 说明:强制回退 HEAD 和工作目录到指定提交。

  • 注意:此操作会清除之后的提交,谨慎使用。


🌱 创建和查看分支

git branch                    # 查看所有本地分支
git branch dev                # 创建名为 dev 的新分支
git checkout dev              # 切换到 dev 分支
git switch dev                # 更推荐的新语法

🔀 合并分支

git checkout main             # 当前所在分支是 main
git pull origin main          # 确保 main 是最新的
git merge dev                 # 将 dev 分支合并进 main
  • 说明

    • 合并之前一定要确保处于目标分支(如 main)。
    • 合并来源是指定的分支(如 dev)。
    • 合并后若有冲突需手动解决再提交。

🧹 删除分支

git branch -d dev                     # 删除本地分支
git push origin --delete dev         # 删除远程分支

🔗 连接远程仓库和修改远程地址

查看当前远程仓库地址

git remote -v
  • 说明:查看当前仓库的远程地址和 fetch/push 配置。

添加远程仓库(首次)

git remote add origin https://github.com/user/repo.git

修改远程仓库地址

git remote set-url origin https://github.com/newuser/newrepo.git
  • 说明:若原远程地址变更(如换了 GitHub 账户或项目迁移),可用此命令更新。
git remote add origin https://github.com/user/repo.git
  • 说明:添加名为 origin 的远程仓库地址。

☁️ 推送到远程仓库(首次)

git push -u origin main
  • 说明:第一次推送时使用 -u 绑定远程分支,以后只需执行 git push 即可。

❗ 如果远程已有提交怎么办?

git pull origin main --rebase        # 拉取并与本地代码衔接
# 或强推(慎用)
git push -f origin main

☁️ 拉取远程仓库更新

git pull origin main
  • 说明:获取远程更新并自动合并。

🔄 覆盖本地代码(慎用)

git fetch --all
git reset --hard origin/main
  • 说明:强制使用远程代码覆盖本地所有更改。

🧰 常用组合操作流程(工作流建议)

# Step 1: 新建分支并切换git checkout -b feature-x      # 创建并切换到新分支 feature-x# Step 2: 开发代码并提交git add .
git commit -m "完成了 feature-x 功能"# Step 3: 推送分支git push -u origin feature-x   # 将分支推送到远程# Step 4: 合并到主分支git checkout main
git pull origin main           # 保证 main 是最新的
git merge feature-x            # 合并 feature-x 分支git push origin main           # 推送合并后的主分支

🧳 暂存工作进度(stash)

git stash                      # 暂存当前未提交的更改
git stash list                 # 查看所有 stash 项
git stash pop                  # 恢复最近一次 stash 的内容并删除该 stash
  • 说明:适用于临时切换分支或保存当前工作进度。

🏷️ 打标签(tag)

git tag v1.0                   # 创建标签 v1.0(默认基于当前提交)
git tag                        # 查看所有标签
git push origin v1.0          # 推送单个标签到远程
git push origin --tags        # 推送所有标签
  • 说明:标签用于标记某次关键提交,常用于版本管理。

如需继续补充其他 Git 场景,可放评论区进行补充。

相关文章:

  • 进程替换讲解
  • 【day01】 Chroma 核心操作流程
  • IT系统的基础设施:流量治理、服务治理、资源治理,还有数据治理。
  • 部署安装jenkins.war(2.508)
  • 练习小项目2:今日幸运颜色生成器
  • 【ALINX 实战笔记】FPGA 大神 Adam Taylor 使用 ChipScope 调试 AMD Versal 设计
  • 在Angular中使用Leaflet构建地图应用
  • 一招解决Tailwindcss4.x与其他库样式冲突问题
  • Scrapy框架下地图爬虫的进度监控与优化策略
  • 16.2 VDMA视频转发实验之模拟源
  • [Java实战]Spring Boot 3实现 RBAC 权限控制(二十五)
  • C# 实现雪花算法(Snowflake Algorithm)详解与应用
  • C++篇——多态
  • 知从科技闪耀2025上海车展:以创新驱动未来出行新篇章
  • redis解决常见的秒杀问题
  • STL?list!!!
  • “傅里叶变换算法”来检测纸箱变形的简单示例
  • 2025认证杯第二阶段数学建模B题:谣言在社交网络上的传播思路+模型+代码
  • Ruby 循环与迭代器
  • 图片爬虫通过模板及使用说明
  • 混乱的5天:俄乌和谈如何从充满希望走向“卡壳”
  • 齐白石精品在波士顿展出,“白石画屋”呈现水墨挥洒
  • 女外交官郑璇已任中国驻莫桑比克大使
  • 125%→10%、24%税率暂停90天,对美关税开始调整
  • 沧州制造展现硬核实力:管道装备支撑大国基建,核电锚栓实现国产
  • 海运港口股掀涨停潮!回应关税下调利好,有货代称美线舱位爆了