Git 开发中最常用的命令与场景

Git 开发中最常用的命令与场景

配置用户信息

安装后第一步,配置你的身份(每次提交都会记录):

bash 复制代码
# 语法:git config --global user.name "你的名字"
git config --global user.name "zhangsan"

# 语法:git config --global user.email "你的邮箱"
git config --global user.email "zhangsan@example.com"
  • --global:表示全局配置,对当前用户所有仓库生效。

工作区、暂存区、仓库区

先理解三个区域,命令逻辑就通了:

  • 工作区:你正在编辑的文件目录(比如电脑上的项目文件夹)。
  • 暂存区:临时存放即将提交的文件(相当于 "提交预览区")。
  • 仓库区 :Git 保存所有版本历史的地方(.git 隐藏目录)。

本地仓库常用命令

初始化仓库

bash 复制代码
git init

执行后会生成 .git 隐藏目录,不要手动修改它。

查看文件状态

查看工作区、暂存区的文件变化:

bash 复制代码
git status
  • 红色:文件在工作区,未添加到暂存区。
  • 绿色:文件已在暂存区,待提交。

添加文件到暂存区

bash 复制代码
# 语法1:git add <文件路径>(添加指定文件)
git add index.html

# 语法2:git add .(添加当前目录所有文件)
git add .

# 语法3:git add *.js(添加所有 .js 文件)
git add *.js

提交到仓库区

将暂存区的文件永久保存到仓库区,并写提交说明:

bash 复制代码
# 语法:git commit -m "提交说明"
git commit -m "feat: 完成用户登录功能"
  • 提交说明建议用 feat:(新功能)、fix:(修复 bug)、docs:(文档)等前缀,规范清晰。

查看提交日志: 查看所有提交历史

bash 复制代码
# 语法:git log
git log

# 简洁版日志(一行显示一个提交)
git log --oneline

版本回退: 回到之前的某个提交版本

bash 复制代码
# 语法:git reset --hard <提交ID>
# 提交ID可通过 git log --oneline 查看(比如前6位即可)
git reset --hard a1b2c3d #  `--hard`:强制回退,工作区和暂存区的文件都会恢复到该版本。
git push --force-with-lease # 更安全,如果远程分支有其他人推送的新提交,会拒绝推送,避免覆盖别人的工作
  • --hard:强制回退,工作区和暂存区的文件都会恢复到该版本。

分支管理

创建分支

bash 复制代码
# 语法:git branch <分支名>
git branch dev  # 创建名为 dev 的分支

切换分支

bash 复制代码
# 语法1:git checkout <分支名>(旧版命令)
git checkout dev

# 语法2:git switch <分支名>(新版推荐)
git switch dev

创建并切换分支

bash 复制代码
# 语法1:git checkout -b <分支名>
git checkout -b dev

# 语法2:git switch -c <分支名>
git switch -c dev

合并分支

bash 复制代码
# 先切换到目标分支(比如 main)
git switch main

# 语法:git merge <要合并的分支名>
git merge dev  # 将 dev 分支合并到 main

删除分支:

bash 复制代码
# 语法:git branch -d <分支名>
git branch -d dev

解决合并冲突

如果两个分支修改了同一个文件的同一行,合并时会报错,需手动解决:

  1. 打开冲突文件,Git 会标记冲突位置:

    plaintext 复制代码
    <<<<<<< HEAD
    这是 main 分支的内容
    =======
    这是 dev 分支的内容
    >>>>>>> dev
  2. 编辑文件,保留需要的内容,删除 <<<<<<<=======>>>>>>> 标记。

  3. 重新添加并提交:

    bash 复制代码
    git add .
    git commit -m "fix: 解决合并冲突"

远程仓库

关联远程仓库

bash 复制代码
# 语法:git remote add <远程仓库名> <远程仓库地址>
git remote add origin https://github.com/zhangsan/my-project.git
  • origin 是远程仓库的默认名称,可自定义。

推送到远程

bash 复制代码
# 首次推送(-u 表示关联本地分支与远程分支,后续可直接 git push)
git push -u origin main

# 后续推送
git push

拉取远程更新

bash 复制代码
# 语法:git pull <远程仓库名> <分支名>
git pull origin main
# 管理之后
git pull

克隆远程仓库

bash 复制代码
# 语法:git clone <远程仓库地址>
git clone https://github.com/zhangsan/my-project.git

当前分支强制回退到远程

bach 复制代码
git fetch origin
git reset --hard origin/master
相关推荐
源码之家2 小时前
计算机毕业设计:Python 共享单车数据分析可视化系统 Flask框架 可视化 大数据 机器学习 深度学习 数据挖掘(建议收藏)✅
大数据·python·数据挖掘·数据分析·汽车·课程设计·美食
古城小栈2 小时前
Go 牵手 ES
elasticsearch·golang·iphone
xingyuzhisuan2 小时前
遇到GPU驱动冲突问题,云厂商通常提供怎样的技术支持?
大数据·人工智能·gpu算力
码农小白AI2 小时前
AI审核驱动动态预警:IACheck如何重塑环境数据一致性监测与质量管控新模式
大数据·人工智能
LaughingZhu2 小时前
Product Hunt 每日热榜 | 2026-04-02
大数据·人工智能·经验分享·搜索引擎
张二娃同学2 小时前
基于 Python 与 Tkinter 的猜数字游戏设计与实现:支持玩家猜数与 AI 反向推理
开发语言·git·python·游戏·开源
福客AI智能客服2 小时前
低价竞争之外,商家正在重新思考客服的价值
大数据·人工智能
GJGCY2 小时前
企业级AI智能体平台技术评测:9款产品架构差异与生产落地能力分析
大数据·人工智能·ai·智能体
专注API从业者2 小时前
淘宝 API 调用链路追踪实战:基于 SkyWalking/Pinpoint 的全链路监控搭建
大数据·开发语言·数据库·skywalking