Git 本地操作基础

Git 本地操作基础

  • [Git 本地操作基础](#Git 本地操作基础)
    • 一、初始配置
      • [1.1 打开 Git Bash](#1.1 打开 Git Bash)
      • [1.2 设置用户签名(只需配置一次)](#1.2 设置用户签名(只需配置一次))
    • 二、基本工作流程
      • [2.1 初始化本地库](#2.1 初始化本地库)
      • [2.2 查看本地状态](#2.2 查看本地状态)
      • [2.3 添加到暂存区](#2.3 添加到暂存区)
      • [2.4 提交到本地库](#2.4 提交到本地库)
      • [2.5 完整流程总结](#2.5 完整流程总结)
    • 三、历史记录与版本穿梭
      • [3.1 查看历史记录](#3.1 查看历史记录)
      • [3.2 版本穿梭](#3.2 版本穿梭)
    • 四、分支操作
      • [4.1 分支的好处](#4.1 分支的好处)
      • [4.2 常用命令速查](#4.2 常用命令速查)
      • [4.3 查看当前分支](#4.3 查看当前分支)
      • [4.4 创建分支](#4.4 创建分支)
      • [4.5 切换分支](#4.5 切换分支)
      • [4.6 在分支上开发并提交](#4.6 在分支上开发并提交)
      • [4.7 合并分支(正常合并)](#4.7 合并分支(正常合并))
      • [4.8 合并冲突](#4.8 合并冲突)

Git 本地操作基础


一、初始配置

1.1 打开 Git Bash

找到目标文件夹 → 鼠标右键 → Git Bash Here (首次使用需要初始化)

1.2 设置用户签名(只需配置一次)

bash 复制代码
git config --global user.name 用户名
git config --global user.email 邮箱

验证配置 :打开以下路径查看 .gitconfig 文件是否存在:

复制代码
C:\Users\user\.gitconfig

⚠️ 用户签名只是标识提交者身份,与登录 GitHub 的账号无关。


二、基本工作流程

2.1 初始化本地库

bash 复制代码
git init

在当前文件夹创建 .git 目录,完成初始化。

2.2 查看本地状态

bash 复制代码
git status
  • 红色文件:已修改但未添加到暂存区
  • 绿色文件:已添加到暂存区,等待提交

文件被修改后的典型提示

复制代码
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
        modified:   1.c        ← 状态发生变化,需要重新加入暂存区

2.3 添加到暂存区

bash 复制代码
git add 文件名

添加后该文件在 git status 中显示为绿色

2.4 提交到本地库

bash 复制代码
git commit -m "日志信息(名字可以任意取)" 文件名

提交成功后的输出说明

复制代码
[master (root-commit) 22cd20f] log1
  ↑主分支                ↑版本号  ↑日志信息
 1 file changed, 403 insertions(+)
  ↑一个文件改变,403 行被插入
 create mode 100644 1.c

📌 每次文件修改后,都需要重新走一遍 add → commit 流程。

2.5 完整流程总结

复制代码
工作区(编辑文件)
    ↓  git add
暂存区(绿色,待提交)
    ↓  git commit
本地库(生成版本记录)

三、历史记录与版本穿梭

3.1 查看历史记录

bash 复制代码
git reflog        # 查看简短版本号(常用)
git log           # 查看完整提交记录(含作者、时间、完整哈希)

3.2 版本穿梭

bash 复制代码
git reset --hard 版本号(查看历史记录时候给的版本号)

第一步:修改文件后查看本地状态

我修改 1.c 中的文件,然后查看本地状态:

第二步:重新 add 和 commit,生成新版本

第三步:查看版本号,目前已有两个版本:

(此时可看到 log1 和 log2 两个版本及对应版本号)

第四步:切换版本:

(填入 git reflog 中看到的对应版本号即可切换回任意版本)

本质是移动 HEAD 和当前分支指针的指向位置。


四、分支操作

4.1 分支的好处

  • 并行开发:多个功能可同时在不同分支上开发,互不干扰,提高效率。
  • 风险隔离:某个分支开发失败,不影响其他分支,删除失败分支重新开始即可。

4.2 常用命令速查

命令 说明
git branch 分支名 创建分支(相当于对当前分支的复制)
git branch -v 查看所有分支(* 表示当前所在分支)
git checkout 分支名 切换分支
git merge 分支名 将指定分支合并到当前分支

4.3 查看当前分支

bash 复制代码
git branch -v           # 查看分支,* 号在哪表示当前在哪个分支

4.4 创建分支

bash 复制代码
git branch bugFix       # 创建 bugFix 分支(复制当前分支内容)
git branch -v           # 查看分支,* 号在哪表示当前在哪个分支

*) 号在哪表示当前在哪个分支

4.5 切换分支

bash 复制代码
git checkout bugFix     # 切换到 bugFix 分支

4.6 在分支上开发并提交

切换到分支后,正常走工作流程:

bash 复制代码
vim 1.c  # 修改文件
git add 文件名
git commit -m "日志信息" 文件名

查看历史记录确认提交在当前分支上生效。

4.7 合并分支(正常合并)

查看分支和主线的内容:

分支: (此时分支中有新增内容)

主线: (此时主线中没有新增内容)

合并分支:(将 bugFix 分支中的内容合并到 master 上)

bash 复制代码
git checkout master         # 先切换到目标分支(接收合并的一方)
git merge bugFix            # 将 bugFix 的内容合并到 master

合并原理 :对比当前分支与目标分支的内容,将差异部分合并在一起。

📌 最佳实践 :正常合并时,主线(master)不做任何修改,只在分支上修改,然后合并回主线,这样最不容易出问题。

4.8 合并冲突

冲突原因 :当前分支和目标分支都修改了同一个地方,Git 不知道该保留哪个版本,需要人工决定。

解决步骤

  1. 执行 git merge 分支名,出现冲突提示

  2. 打开冲突文件,Git 会用标记标出冲突区域:

    复制代码
    <<<<<<< HEAD
    当前分支的内容
    =======
    被合并分支的内容
    >>>>>>> bugFix
  3. 手动编辑:删除标记符号,保留需要的内容

  4. 重新 add 和 commit:

    bash 复制代码
    git add 文件名
    git commit -m "解决冲突"    # 注意:此时 commit 不需要加文件名

⚠️ 多人协作注意事项:多人合作时,提前商量好谁先合并,等上一个人合并完成后,下一个人再操作,避免不必要的冲突。

相关推荐
深海鱼在掘金5 天前
Git 完全指南 —— 第1章:Git 概览与版本控制演进
git
noravinsc6 天前
关于Git Flow
git
蜜獾云6 天前
在Git中配置用户名和密码
git
scx_link6 天前
通过git bash在本地创建分支,并推送到远程仓库中
开发语言·git·bash
南大白6 天前
IntelliJ IDEA 运行时的 JVM 本地内存溢出崩溃
git
码农小旋风6 天前
Claude Code 基础用法大全:对话、分析、修改、测试、Git 和工作流
人工智能·git·chatgpt·claude
南大白6 天前
Git 撤回提交完整方案
git
像风一样的男人@6 天前
python --实现代理服务器
git·ui
sbjdhjd6 天前
从零搭建企业级 CI/CD(下):Jenkins+GitLab+Harbor 全链路实战指南
git·servlet·ci/cd·云原生·云计算·gitlab·jenkins
码云数智-大飞6 天前
Go Channel 详解:并发通信的正确姿势
前端·数据库·git