Git Bash 实用操作笔记(自用知识点笔记)

17 阅读13分钟

文档说明

本文档为Windows系统下Git Bash的通用操作指导,覆盖Git Bash基础使用、高频Git操作、专属实用技巧及常见问题排查,适配开发日常的代码仓库管理、文件操作等场景,适用于Git新手及需要标准化操作的开发人员,可作为团队内部分享、个人学习记录的参考手册。

适用人群

  1. Windows系统下使用Git进行代码管理的开发人员
  2. 刚接触Git Bash,对Linux基础命令不熟悉的新手
  3. 需标准化Git操作、排查日常使用问题的团队成员

Git Bash 核心优势

  1. 兼容Linux/Unix基础命令,弥补Windows CMD/PowerShell的命令差异
  2. Git原生集成,无需额外配置,直接支持所有Git命令
  3. 完美适配SSH、密钥认证等Git高级操作,无Windows系统兼容问题
  4. 支持命令行快捷键、别名配置,提升开发操作效率

一、Git Bash 基础准备

1.1 打开Git Bash

  1. 方式1:桌面空白处右键 → 选择「Git Bash Here」(推荐,直接定位到当前目录)
  2. 方式2:开始菜单搜索「Git Bash」→ 点击打开(默认定位到用户主目录)
  3. 方式3:Git安装目录下找到git-bash.exe(默认路径:C:\Program Files\Git\git-bash.exe)双击打开

1.2 界面基础认知

  1. 命令提示符:默认显示用户名@电脑名 MINGW64 ~~代表用户主目录(Windows路径:C:\Users\你的用户名
  2. 输入区域:提示符后可直接输入命令,按Enter执行
  3. 快捷键基础
    • 复制:选中内容后按Ctrl+Insert或右键选择「复制」
    • 粘贴:按Shift+Insert或右键选择「粘贴」
    • 清屏:按Ctrl+L或执行命令clear
    • 终止当前命令:按Ctrl+C(命令执行卡死/需中断时使用)

1.3 核心基础命令(Linux兼容,高频使用)

Git Bash支持绝大多数Linux基础命令,是Windows下操作文件/目录的高效方式,以下为日常必用命令,带示例且适配Windows场景:

命令功能说明常用示例
pwd查看当前所在绝对路径(Git Bash格式,/分隔)pwd → 输出:/c/Users/ZhangSan/Desktop
ls查看当前目录下的文件/文件夹普通查看:ls;详细查看:ls -l;显示隐藏文件:ls -a(如.ssh文件夹)
cd切换目录(核心命令)进入桌面:cd ~/Desktop;进入上级目录:cd ..;进入根目录:cd /;回到主目录:cd ~
mkdir创建新文件夹桌面创建test文件夹:mkdir ~/Desktop/test
touch创建空文件当前目录创建README.md:touch README.md
rm删除文件/文件夹删除文件:rm 文件名.txt;强制删除文件夹:rm -rf 文件夹名(谨慎使用)
cp复制文件/文件夹复制文件:cp 源文件 目标路径;复制文件夹:cp -r 源文件夹 目标路径
mv移动/重命名文件/文件夹重命名:mv 旧名 新名;移动:mv 源文件 目标路径

关键说明:路径转换(Windows ↔ Git Bash)

Git Bash中使用斜杠/ 作为路径分隔符,与Windows的反斜杠\区分,核心规则:

  1. Windows本地路径(如C:\Users\ZhangSan\Desktop)→ Git Bash路径:/c/Users/ZhangSan/Desktop(盘符小写+:/替换:)
  2. Git Bash中~等价于Windows用户主目录:C:\Users\你的用户名
  3. 桌面快捷路径:~/Desktop(无需写完整路径,推荐使用)

二、Git Bash 核心Git操作(高频开发场景)

Git Bash是Git的原生操作终端,支持所有Git命令,以下为开发日常必用Git操作,按「仓库配置→日常开发→远程协作」分类,命令带示例、步骤清晰,适配团队开发流程。

2.1 基础配置:Git全局用户信息(首次使用必做)

首次使用Git需配置全局用户名和邮箱,与代码仓库(GitLab/GitHub/Gitee)的账号信息一致,一次配置,所有仓库通用

# 配置全局用户名(替换为你的仓库账号名)
git config --global user.name "你的Git用户名"
# 配置全局邮箱(替换为你的仓库登录邮箱)
git config --global user.email "你的Git登录邮箱@xxx.com"
# 查看全局配置信息(验证是否配置成功)
git config --global --list

2.2 仓库操作:克隆/初始化本地仓库

2.2.1 克隆远程仓库(从GitLab/GitHub拉取已有仓库)

支持SSHHTTPS两种方式,推荐SSH(无需重复输密码,避开SSL问题),命令示例:

# SSH方式(推荐,需提前配置SSH密钥,参考后续说明)
git clone git@git.yfb.sunline.cn:yfb/aps/test/mone-test-ui.git
# HTTPS方式(需输账号/令牌,内网可能报SSL错误)
git clone https://git.yfb.sunline.cn/yfb/aps/test/mone-test-ui.git

2.2.2 初始化本地仓库(本地新建项目,推送到远程)

本地新建项目后,初始化Git仓库,生成.git隐藏文件夹(仓库核心配置):

# 进入本地项目根目录
cd ~/Desktop/你的项目名
# 初始化Git仓库
git init
# 关联远程仓库(后续可推送代码)
git remote add origin 远程仓库地址(SSH/HTTPS)

2.3 日常开发:代码提交(工作区→暂存区→版本库)

开发核心流程,三步提交法,命令固定,按顺序执行:

# 步骤1:查看代码修改状态(红色=未暂存,绿色=已暂存)
git status
# 步骤2:将所有修改的文件添加到暂存区(推荐)
git add .
# 可选:单独添加指定文件,避免提交无关内容
git add 文件名1 文件夹名/文件名2
# 步骤3:将暂存区代码提交到本地版本库,必须写提交备注(清晰描述修改内容)
git commit -m "提交备注:如修复登录页bug、新增首页功能"

2.4 分支操作:创建/切换/合并/删除(团队开发核心)

分支是Git的核心特性,团队开发中一人一分支,避免主分支代码冲突,以下为高频分支命令:

# 查看所有分支(*标记当前所在分支)
git branch
# 查看本地+远程所有分支
git branch -a
# 创建新分支(基于当前分支创建,如feature/登录功能)
git branch 分支名
# 切换到指定分支
git checkout 分支名
# 快捷操作:创建并切换到新分支(推荐)
git checkout -b 分支名
# 合并分支(如将开发分支合并到主分支,先切换到主分支)
git checkout main/master  # 先切到主分支
git merge 开发分支名      # 合并开发分支到当前主分支
# 删除本地分支(分支合并后,无用分支可删除)
git branch -d 分支名
# 强制删除本地分支(未合并的分支,谨慎使用)
git branch -D 分支名
# 删除远程分支(推送到远程后,删除远程无用分支)
git push origin -d 远程分支名

2.5 远程协作:拉取/推送/更新远程仓库

团队开发中,需频繁与远程仓库同步代码,避免冲突,核心命令:

# 查看当前仓库关联的远程地址
git remote -v
# 拉取远程仓库最新代码(合并到当前分支,推荐)
git pull origin 分支名
# 拉取远程仓库最新代码(仅下载,不合并,需手动merge)
git fetch origin 分支名
# 将本地代码推送到远程仓库指定分支(首次推送需加-u,关联本地与远程分支)
git push -u origin 分支名
# 非首次推送,直接执行即可
git push origin 分支名
# 关联远程仓库(本地仓库未关联远程时使用)
git remote add origin 远程仓库地址(SSH/HTTPS)
# 修改远程仓库地址(如HTTPS改SSH,解决SSL问题)
git remote set-url origin 新的远程仓库地址(SSH/HTTPS)

2.6 实用操作:撤销/回滚/查看日志

开发中难免出现提交错误、代码写错,以下命令快速解决问题:

# 撤销工作区的修改(未add的文件,恢复到最近一次commit状态)
git checkout -- 文件名
# 撤销暂存区的修改(已add未commit,回到工作区)
git reset HEAD 文件名
# 查看提交日志(按时间倒序,显示提交人、备注、版本号)
git log
# 简洁查看提交日志(只显示版本号前7位和提交备注)
git log --oneline
# 回滚到指定版本(根据git log的版本号,谨慎使用,会覆盖后续修改)
git reset --hard 版本号前7位

三、Git Bash 专属实用技巧(提升效率)

结合Windows系统特性和Git Bash的功能,整理开发高频实用技巧,覆盖快捷键、别名配置、中文兼容、SSH免密等,大幅提升操作效率。

3.1 常用快捷键(Git Bash专属,比鼠标操作快10倍)

快捷键功能说明
Ctrl+L快速清屏,无需输入clear命令
Ctrl+C终止当前执行的命令(命令卡死/错误时使用)
Ctrl+Insert复制选中的命令/内容
Shift+Insert粘贴复制的内容到Git Bash
Tab命令/路径自动补全(输入前几个字符,按Tab快速补全,多次按切换候选)
↑/↓切换历史命令(无需重复输入相同命令,按上下键选择)
Ctrl+U清空当前输入行的所有内容(命令输错时快速重置)

3.2 配置Git命令别名(简化长命令,自定义快捷命令)

将高频长命令配置为短别名,如git statusgit stgit checkoutgit co一次配置,永久生效

# 配置别名(全局生效,执行以下命令即可)
git config --global alias.st status
git config --global alias.co checkout
git config --global alias.ci commit
git config --global alias.br branch
git config --global alias.pulln pull origin main
git config --global alias.pushn push origin main
# 配置后,快捷使用示例
git st  # 等价于git status
git co  # 等价于git checkout
git ci -m "提交备注"  # 等价于git commit -m "提交备注"
git br  # 等价于git branch
git pulln  # 等价于git pull origin main

3.3 解决Git Bash中文乱码问题

Windows下Git Bash默认可能出现中文文件名乱码、git log中文乱码,执行以下3条命令,永久解决:

git config --global core.quotepath false
git config --global gui.encoding utf-8
git config --global i18n.commit.encoding utf-8
git config --global i18n.logoutputencoding utf-8
export LESSCHARSET=utf-8  # 临时生效,永久生效需配置环境变量(可选)

3.4 SSH免密配置(核心,远程仓库操作无需输密码)

适配GitLab/GitHub/Gitee,配置后clone/pull/push无需输入账号密码,彻底避开HTTPS的SSL证书问题,一次配置,所有该账号有权限的仓库通用,步骤如下:

步骤1:生成SSH密钥对

# 生成RSA格式密钥对,邮箱替换为仓库登录邮箱(留空也可)
ssh-keygen -t rsa -C "你的仓库登录邮箱@xxx.com"
# 全程按Enter回车,默认路径保存,不设置密钥密码(新手推荐)

生成成功后,Windows用户主目录下会生成.ssh文件夹(路径:C:\Users\你的用户名\.ssh),内含:

  • id_rsa:私钥,本地保存,绝对不可泄露/删除
  • id_rsa.pub:公钥,需复制到仓库网页端配置

步骤2:查看并复制公钥

# 查看公钥内容并完整复制
cat ~/.ssh/id_rsa.pub

复制以ssh-rsa开头、以邮箱(若填)结尾的完整字符,无多余空格、无字符缺失

步骤3:仓库网页端配置公钥(以GitLab为例)

  1. 登录GitLab网页端 → 右上角头像 → 「Settings」→ 左侧「SSH Keys」
  2. 「Title」自定义(如Windows-办公电脑),「Key」粘贴复制的公钥
  3. 点击「Add key」,配置完成

步骤4:测试SSH连通性

# 替换为仓库域名(如GitLab:git@git.yfb.sunline.cn,GitHub:git@github.com)
ssh -T git@git.yfb.sunline.cn
# 首次执行输入yes,出现「Welcome to GitLab, @你的用户名!」即配置成功

3.5 快速打开当前目录的文件管理器

Git Bash中执行explorer .,可直接打开当前目录的Windows文件资源管理器,无需手动查找路径,高效切换图形界面:

# 打开当前目录的文件管理器
explorer .
# 打开指定目录的文件管理器(如桌面)
explorer ~/Desktop

四、常见问题排查(Git Bash 高频报错)

整理Git Bash日常使用中最常见的报错及解决方案,按「命令执行失败、Git操作报错、SSH配置报错」分类,快速定位问题、解决问题。

4.1 基础命令问题:命令执行无反应/报错command not found

问题现象

输入命令后按Enter,Git Bash无任何反应;或报错command not found: xxx

解决方案

  1. 确认按Enter键执行命令(新手最易犯,只输入不回车);
  2. 切换为英文/半角输入法(中文标点/字符会导致命令解析失败);
  3. 确认Git Bash获得窗口焦点(点击窗口使其标题栏亮,输入才会生效);
  4. 检查命令拼写正确(如ssh-keygen勿写成sshkeygengit checkout勿写成git check);
  5. 重启Git Bash(终端阻塞时,关闭重新打开即可);
  6. 验证Git安装完整(执行git --version,无输出版本则重新安装Git)。

4.2 Git操作问题:克隆/拉取报SSL证书错误

问题现象

HTTPS方式克隆/拉取仓库,报错SSL certificate problem: unable to get local issuer certificate(内网仓库自签名证书常见)。

解决方案

  1. 推荐方案:切换为SSH方式克隆/操作(配置SSH免密,一劳永逸,参考3.4节);
  2. 临时方案:关闭本次Git操作的SSL验证(仅单次有效);
    git clone -c http.sslVerify=false 仓库HTTPS地址
    
  3. 永久方案:配置仓库SSL根证书(适合必须用HTTPS的场景)。

4.3 SSH配置问题:测试连通性报错Permission denied (publickey)

问题现象

执行ssh -T git@xxx.com,报错Permission denied (publickey),SSH认证失败。

解决方案

  1. 确认公钥完整复制(重新执行cat ~/.ssh/id_rsa.pub,复制完整字符,无首尾空格);
  2. 确认公钥添加至个人账号设置(仓库网页端,公钥是绑定个人账号,而非单个仓库);
  3. 确认本地私钥路径为默认路径~/.ssh/id_rsa,非默认路径需手动配置);
  4. 重新生成密钥对(若公钥/私钥损坏,执行ssh-keygen -t rsa重新生成,全程回车)。

4.4 路径问题:切换目录/克隆报错No such file or directory

问题现象

执行cd/git clone,报错No such file or directory,路径不存在。

解决方案

  1. 确认路径分隔符为/(Git Bash中禁用Windows的\,如/c/Users/张三/Desktop);
  2. 确认路径拼写正确(使用Tab键自动补全路径,避免手动拼写错误);
  3. 确认目录实际存在(执行ls查看当前目录下的文件/文件夹,验证路径)。

4.5 提交问题:git commit报错Please tell me who you are

问题现象

首次提交代码,报错Please tell me who you are,Git未配置用户信息。

解决方案

执行2.1节的Git全局用户信息配置命令,配置用户名和邮箱即可。

五、总结

  1. Git Bash是Windows系统下Git操作的最佳终端,兼容Linux命令,原生支持所有Git操作,无系统兼容问题;
  2. 基础操作核心:掌握cd/ls/pwd等Linux基础命令,理解Windows与Git Bash的路径转换规则(/替换\);
  3. Git操作核心:遵循**「全局配置→仓库操作→提交→远程协作」** 流程,分支操作是团队开发的关键;
  4. 效率提升核心:熟练使用快捷键、命令别名、SSH免密配置,减少重复操作,提升开发效率;
  5. 问题排查核心:日常报错多为路径错误、输入法错误、SSH公钥不完整,按文档步骤逐一排查即可解决。

Git Bash的使用核心是多练多用,基础命令和Git操作固定,熟悉后可大幅提升代码仓库管理的效率,建议将本文档收藏,日常使用中随时查阅。