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 不需要加文件名

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

相关推荐
白狐_7981 小时前
从功能开发到开源维护:一个 Python 可视化项目的 Git 分支、维护文件与 PR 流程实践
git·python·开源
江华森2 小时前
Git + Maven Java 项目部署实战全指南
运维·笔记·git·学习·maven
火车叼位17 小时前
用脚本固化 Git Squash 合并与文件排除流程
git
wunaiqiezixin19 小时前
git常用命令总结
git
Pluchon1 天前
萌萌技术分享笔记——Java综合项目
java·开发语言·笔记·git·github·mybatis·postman
九思x1 天前
Git脚本汇总
git
jiayong231 天前
git分支合并的切换逻辑详解
git
思麟呀1 天前
Git入门
git
Ws_1 天前
Git + Gerrit 第八课:reset 与 revert 撤销提交
git