Git BASH安装教程

什么是 Git Bash?

简单来说,Git Bash 是为 Windows 系统提供的模拟 Linux 风格的 Bash 命令行环境,主要用于运行 Git 命令。Bash 是 Linux 和 macOS 用户常用的命令行工具,而 Windows 自带的命令提示符与它不兼容。因此,Git for Windows 软件包中包含了 Git Bash,让你可以在 Windows 上使用熟悉的 Bash 语法来操作 Git 和进行文件管理

第一步:下载 Git for Windows

Git Bash 是 Git for Windows 的一部分,所以安装 Git 的同时就会自动装上 Git Bash。

访问官网:打开浏览器,访问 Git 的官方网站:https://git-scm.com/

自动下载:网站会自动检测你的操作系统(Windows),并显示一个“Download for Windows”的按钮。点击这个按钮,即可下载最新版本的安装程序(.exe 文件)。

在这里插入图片描述


根据处理器选择对应的安装包下载

在这里插入图片描述

第二步:运行安装程序

下载完成后,找到并双击运行安装程序。根据你对定制化的需求,可以选择以下两种方式之一:

方式一:快速安装(适合大多数用户)

对于初学者或希望快速上手的朋友,最简单的方式就是一直点击“Next”,接受所有默认选项,最后点击“Install”即可完成安装。默认设置已经过优化,能够满足绝大多数开发场景。

方式二:自定义安装(了解关键配置)

如果你想了解每个步骤的含义,可以按照以下指南进行配置。以下是在安装向导中需要注意的几个关键点:

选择组件 (Select Components):建议保留默认勾选。其中 “Git Bash Here” 和 “Git GUI Here” 是非常实用的选项,它们会在你的文件夹右键菜单中添加快捷方式,方便你在特定目录下直接打开 Git Bash。

选择默认编辑器 (Choosing the default editor used by Git):Git 有时需要你输入提交信息,会打开一个文本编辑器。默认是 Vim,它对新手不太友好。你可以在此处下拉选择你熟悉的编辑器,如 Notepad++、Visual Studio Code 等。

调整 PATH 环境变量 (Adjusting your PATH environment)

推荐选择中间项:“Git from the command line and also from 3rd-party software”。这个选项会将 Git 添加到系统的 PATH 环境变量中,让你不仅在 Git Bash,还能在 Windows 自带的命令提示符 (CMD) 或 PowerShell 中直接使用 Git 命令。

配置行结束符 (Configuring the line ending conversions)

推荐选择第一项:“Checkout Windows-style, commit Unix-style line endings”。这是因为 Windows 和 Linux/Unix 系统使用的换行符不同(CRLF 与 LF)。选择此项后,Git 在 Windows 上下载代码时会自动转换为 CRLF 以适应 Windows 工具,在你提交代码时又会自动转换回 LF,从而避免因换行符不同导致的混乱。

选择终端模拟器 (Configuring the terminal emulator to use with Git Bash)

推荐选择:“Use MinTTY (the default terminal of MSYS2)”。MinTTY 功能更丰富,提供了更好的文本渲染和色彩支持,能带来更佳的终端体验。

完成上述关键选择后,一路点击“Next”直到“Install”,最后点击“Finish”完成安装。

第三步:验证安装与初步配置

打开 Git Bash:安装完成后,你可以在桌面或任意文件夹中点击鼠标右键,选择 “Git Bash Here” 来启动它。

在这里插入图片描述

验证版本:在打开的黑色窗口中,输入以下命令并回车,如果正确显示 Git 版本号,则说明安装成功:

git--version
在这里插入图片描述

配置用户信息 (必须):使用 Git 的第一件事就是设置你的用户名和邮箱,因为每次提交代码都会记录这些信息。请将引号内的内容替换成你自己的信息:

git config --global user.name "Your Name"git config --global user.email "[email protected]"

(可选) 配置更友好的日志显示:

git config --global color.ui auto 

这个设置会让 Git 的输出(如状态、差异对比)显示为彩色,更易于阅读。

Git Bash 基础使用
现在你就可以开始使用 Git Bash 了。它支持大多数常用的 Linux 命令来管理文件,以及所有 Git 命令来管理代码。

Git Bash 小技巧
Tab 自动补全:输入命令或文件名时按 Tab 键可自动补全。

命令历史:按上下箭头可快速查找之前输入的命令。

别名(alias):可以为常用命令设置简短别名,例如:

aliasgs='git status'aliasga='git add'aliasgc='git commit -m'

将其写入 ~/.bashrc 文件即可永久生效。

常用的Linux命令(适用于 Git Bash)

Git Bash 模拟了 Linux 的 Bash 环境,以下命令可以帮助你高效地管理文件和目录。

1. 目录与文件操作

命令示例
pwd 显示当前工作目录的完整路径pwd → /c/Users/YourName
ls 列出当前目录下的文件和文件夹ls -la (显示所有文件,包括隐藏文件及详细信息)
cd <目录> 切换到指定目录cd Documentscd .. (返回上级目录)
mkdir <目录名> 创建新目录mkdir my_project
rmdir <目录名> 删除空目录rmdir empty_folder
rm <文件>删除文件rm file.txt
rm -rf <目录> 强制删除非空目录及其内容(慎用!)rm -rf old_project
cp <源> <目标> 复制文件或目录cp file.txt backup/ (复制文件到 backup 目录)
mv <源> <目标> 移动或重命名文件/目录mv oldname.txt newname.txt
touch <文件名> 创建一个空文件或更新文件时间戳touch README.md

2. 文件内容查看与编辑

命令示例
cat <文件> 显示文件全部内容cat config.json
less <文件> 分页查看文件内容(按 q 退出)less README.md
head <文件> 显示文件开头几行(默认10行)head -20 log.txt
tail <文件> 显示文件末尾几行(常用 -f 实时跟踪日志)tail -f app.log
nano <文件> 简单文本编辑器(适合快速修改)nano .gitignore
vim <文件> 功能强大的编辑器(需要学习基本操作)vim script.sh

3. 查找与搜索

命令示例
find <路径> -name <文件名> 按文件名查找文件find . -name "*.txt"
grep <模式> <文件> 在文件中搜索文本grep "error" server.log
grep -r <模式> <目录> 递归搜索目录中的文件 grep -r "TODO" ./src

4. 权限与进程

命令示例
chmod <权限> <文件> 修改文件权限(如 chmod +x script.sh 添加执行权限) chmod 755 setup.py
ps 查看当前运行的进程ps aux (显示所有进程)
kill 终止指定进程ID的进程kill 1234
top 动态显示系统资源占用和进程q 退出

5. 其他实用命令

命令示例
echo <文本> 输出文本到屏幕或文件echo "Hello" echo "text" > file.txt
clear清屏 clear
history 查看之前输入的命令历史history 10 (显示最近10条)
which <命令> 显示命令的完整路径which git
tar 打包/解包 .tar 文件tar -czf archive.tar.gz folder/ (压缩)
unzip <文件> 解压 .zip 文件unzip archive.zip

常用 Git 命令

Git 是版本控制的核心,下面按使用场景分类列出最常用的命令。

1. 配置与初始化

命令示例
git config --global user.name “名字” 设置全局用户名(第一次使用必须配置)git config --global user.name "Your Name"
git config --global user.email “邮箱” 设置全局邮箱git config --global user.email "[email protected]"
git config --list 查看当前所有配置git config --list
git init 在当前目录初始化一个新的 Git 仓库git init
git clone <仓库地址> 克隆远程仓库到本地git clone https://github.com/user/repo.git

2. 基本操作(本地仓库)

命令示例
git status 查看工作区和暂存区的状态(哪些文件被修改/暂存)git status
git add <文件> 将文件添加到暂存区git add index.html git add . (添加所有变更)
git commit -m “提交信息” 将暂存区的文件提交到本地仓库git commit -m "Fix login bug"
git log 查看提交历史git log --oneline (简洁模式)
git diff 查看工作区与暂存区的差异git diff
git diff --staged 查看暂存区与最后一次提交的差异git diff --staged
git rm <文件> 从版本库和工作区中删除文件git rm old.txt
git mv <源> <目标> 移动或重命名文件,并自动暂存git mv README README.md

3. 分支管理

命令示例
git branch 列出本地分支(当前分支前有 * 标记)git branch -a (显示所有分支,包括远程)
git branch <分支名> 创建新分支git branch feature-login
git checkout <分支名> 切换到指定分支git checkout develop
git checkout -b <分支名> 创建并切换到新分支git checkout -b hotfix
git merge <分支名> 将指定分支合并到当前分支git merge feature-login (需先切换到目标分支)
git branch -d <分支名> 删除本地分支(需确保已合并)git branch -d old-branch
git branch -D <分支名> 强制删除未合并的分支git branch -D temp

4. 远程仓库操作

命令示例
git remote -v 查看已配置的远程仓库地址git remote -v
git remote add <别名> <地址> 添加远程仓库git remote add origin https://github.com/user/repo.git
git push <远程名> <分支名> 将本地分支推送到远程仓库 git push origin main
git pull <远程名> <分支名> 从远程仓库拉取并合并到当前分支git pull origin main
git fetch <远程名> 从远程仓库获取更新(但不自动合并)git fetch origin
git clone <地址> 克隆远程仓库git clone https://github.com/user/repo.git

5. 撤销与回退

命令示例
git restore <文件> 丢弃工作区的修改(恢复文件到最后一次提交状态)git restore index.html
git restore --staged <文件> 将文件从暂存区移回工作区git restore --staged app.js
git reset HEAD~1 撤销最后一次提交,但保留修改在工作区git reset --soft HEAD~1 (–soft 保留暂存区)
git reset --hard HEAD~1 彻底回退到前一个版本,丢弃所有修改(慎用)git reset --hard HEAD~2 (回退两个版本)
git revert <提交ID> 创建一个新提交来撤销指定提交的更改(安全)git revert a1b2c3d

6. 查看与比较

命令示例
git log --oneline --graph 以图形化方式显示分支和提交历史git log --oneline --graph --all
git show <提交ID> 显示某次提交的详细信息git show HEAD
git diff <分支1> <分支2> 比较两个分支的差异git diff main develop
git blame <文件> 逐行显示文件的最后修改者和提交git blame README.md

7. 暂存与清理

命令示例
git stash 暂时保存当前未提交的修改,让工作区变得干净git stash
git stash list 查看暂存列表git stash list
git stash pop 恢复最近一次暂存的修改并从列表中删除git stash pop
git stash apply 恢复暂存但保留列表git stash apply stash@{1}
git clean -fd 删除未被 Git 跟踪的文件和目录(谨慎)git clean -n (先预览要删除的内容)

Read more

【Java.数据结构】初识集合框架

【Java.数据结构】初识集合框架

🎁个人主页:User_芊芊君子 🎉欢迎大家点赞👍评论📝收藏⭐文章 🔍系列专栏:Java.数据结构 【前言】 Java语法部分完结,现在开始进军数据结构部分,在Java编程中,数据结构与算法是高效程序的基石,集合框架是操作数据结构的便捷工具集。时间、空间复杂度是衡量算法效率的核心指标。本文旨在带大家初识Java集合框架,夯实复杂度认知,为后续学习筑牢基础。 文章目录: * 一、初识数据结构 * 二、集合框架 * 1.什么是集合框架? * 2.集合框架的重要性 * 三、什么是算法? * 四、时间复杂度 * 1.时间复杂度 * 2.⼤O的渐进表⽰法 * 3.示例 * 五、空间复杂度 * 六、总结 一、初识数据结构 数据结构是组织和存储数据的方式,相互之间存在的一种或多种特定关系的数据元素的集合,不同结构对应着不同的查询,

Java总结进阶之路 (基础二 )

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 * 前言 * 一、java的八大基本数据类型 * 整数类型 * 浮点型 * 浮点型 * 布尔类型 * 二、引用数据类型 * String字符串类型 * String的特性 * 理解 String 字符不可变性。 * String实例化的方式 * StringBuffer和StringBuilder * StringBuilder * StringBuffer * StringBuffer和StringBuilder的扩容问题 * String、StringBuffer和StringBuilder的异同 * 相同点 * 不同点: * java的自动拆箱与拆箱的实现原理 * 对象实体与对象引用有何不同 * java中常用的运算符 * 局部变量和成员变量 * 面向对象OOP(Object Oriented Programming) * 重写 (Over

新手向:Java方向讲解

新手向:Java方向讲解

从诺基亚塞班到阿里双11,从安卓应用到华尔街交易,Java用一行System.out.println()征服了数字世界 1998年,诺基亚在塞班系统上首次采用Java ME技术,让手机具备了运行应用程序的能力,开启了移动互联网的序幕。当时的Java开发者们可能不会想到,这个简单的System.out.println()打印语句,会成为改变世界的代码。 2009年,阿里首次在双11购物节中使用Java构建的分布式系统,成功应对了每秒数万笔交易的挑战。在2019年双11期间,阿里云更是创下单日处理54.4万笔/秒的世界纪录,这背后是数百万行Java代码的完美配合。 在移动端,Android系统基于Java语言构建的应用生态已经覆盖全球超过25亿台设备。从简单的计算器应用到复杂的3D游戏,Java的跨平台特性让同一个应用能在不同设备上稳定运行。 在金融领域,华尔街90%以上的高频交易系统使用Java开发。高盛、摩根士丹利等投行依靠Java的稳定性和高性能特性,在纳秒级的时间窗口内完成数以亿计的交易。一个简单的System.out.println()调试语句,可能就关系着数百万美元的交

别再只会用 synchronized!Java 并发编程全链路核心体系,从底层原理到生产实战全覆盖

别再只会用 synchronized!Java 并发编程全链路核心体系,从底层原理到生产实战全覆盖

很多Java开发者在面试时能背出并发编程的核心概念,却在实际项目中频繁踩坑:出现超卖、死锁、数据不一致等线上问题时无从下手;只会用synchronized加锁,却不懂底层原理导致性能瓶颈;乱用线程池引发OOM。本文基于JDK 17,从JMM内存模型底层原理,到锁机制、JUC核心工具,再到生产级实战与避坑指南,全链路讲透Java并发编程的核心知识点,兼顾理论深度与落地实用性,帮你彻底打通并发编程的任督二脉。 一、并发编程的核心基石:JMM内存模型与三大特性 1.1 为什么需要JMM内存模型 CPU的运算速度比主存快了上千倍,为了提升性能,CPU引入了多级缓存、寄存器,编译器和CPU会对指令进行重排序优化。这就导致在多线程场景下,线程对变量的修改,其他线程看不到,或者指令执行顺序和预期不一致,引发线程安全问题。 JMM(Java Memory Model,Java内存模型)是JSR-133规范定义的,用来解决多线程场景下的可见性、原子性、有序性问题,屏蔽不同硬件和操作系统的内存访问差异,实现Java程序在不同平台的内存访问一致性。 1.2 JMM核心结构 JMM规定了所有变量