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
相关推荐
rADu REME18 小时前
探索Spring Cloud Config:构建高可用的配置中心
大数据·elasticsearch·搜索引擎
xcbrand19 小时前
政府事业机构品牌策划公司找哪家
大数据·人工智能·python
YoseZang19 小时前
【手工】git的使用 – 使用git进行项目协作
git
Giggle121820 小时前
上门维修预约小程序开发全流程:从核心功能设计到技术选型实践
大数据·个人开发·内容运营
惺忪979820 小时前
git 多个branch对多个版本进行管理
git
Elastic 中国社区官方博客21 小时前
Elastic Security、Observability 和 Search 现在在你的 AI 工具中提供交互式 UI
大数据·运维·人工智能·elasticsearch·搜索引擎·安全威胁分析·可用性测试
TechubNews1 天前
Base 发布首个独立 OP Stack 框架的网络升级 Azul,将是 L2 自主迭代的开端?
大数据·网络·人工智能·区块链·能源
金融小师妹1 天前
AI政策框架解析:凯文·沃什货币体系重构与美联储治理范式转型
大数据·人工智能·重构·逻辑回归
多年小白1 天前
中科院 Ouroboros 晶圆级存算一体芯片深度解析
大数据·网络·人工智能·科技·ai
SelectDB1 天前
从 T+1 到分钟级:金城银行基于 Apache Doris 构建高可靠、强一致的实时数据平台
大数据·数据库·数据分析