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
相关推荐
智商网输送线配件6 小时前
2026 自动化流水线配件采购难题破解:小批量混批与非标定制的供应链实测
大数据·人工智能·自动化·智商网·流水线设备配件
辛迪聊物业数字化6 小时前
智慧物业管理平台架构实践:从SaaS物业云到商管系统的全模块落地
大数据·微服务·php
SelectDB6 小时前
快手基于 Apache Doris 千亿多模态检索的实践
大数据·数据库·数据分析
SelectDB6 小时前
StarRocks 迁移至 Apache Doris 完整指南:三步完成结构、数据与业务平滑切换
大数据·数据库·数据分析
mmsx6 小时前
Android 地图十万要素不卡顿:空间网格 + 渐进式加载的移动端实践
android·大数据·opengl
寺中人7 小时前
Git 版本控制完全入门指南:从安装到实战,提交 + 分支 + 协作 + 冲突解决全拆解
git·开发工具·版本控制·团队协作·代码管理
宁波鹿语心理7 小时前
注意缺陷多动障碍儿童及家庭的心理支持:理解特质,重建价值
大数据
跨境数据猎手7 小时前
反向海淘是什么:2026从系统架构到业务落地
大数据·产品运营·需求分析
TDengine (老段)7 小时前
TDengine 常见问题 TOP7
大数据·数据库·时序数据库·常见问题·tdengine·涛思数据
探数API小喇叭8 小时前
天气 API 接口思路:拆解一套包含 4 个子接口的轻量化气象服务
大数据·api·天气预报