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 不知道该保留哪个版本,需要人工决定。
解决步骤:
-
执行
git merge 分支名,出现冲突提示 -
打开冲突文件,Git 会用标记标出冲突区域:
<<<<<<< HEAD 当前分支的内容 ======= 被合并分支的内容 >>>>>>> bugFix -
手动编辑:删除标记符号,保留需要的内容
-
重新 add 和 commit:
bashgit add 文件名 git commit -m "解决冲突" # 注意:此时 commit 不需要加文件名
⚠️ 多人协作注意事项:多人合作时,提前商量好谁先合并,等上一个人合并完成后,下一个人再操作,避免不必要的冲突。