三招教你轻松扩展 git bash 命令(上)(一)

简介: GitBash 是 Windows 系统安装 Git 时默认集成的命令行工具,提供运行 Git 命令的集成环境.

什么是GitBash

GitBashWindows 系统安装 Git 时默认集成的命令行工具,提供运行 Git 命令的集成环境.


53.png

如果不熟悉命令行操作的话, GitBash 还有个双胞胎兄弟叫做 GitGUI,默认情况下两兄弟应该会同时安装(除非你特意更改了安装 Git 时的配置项).


54.jpg


如果选中文件右键没有弹出 GitBashHereGItGUIHere 选项的话,很可能安装 Git 时并没有集成这两个工具,请检查安装 Git 时下图是否已经勾选!


55.png


不论是命令行工具还是图形化工具,两者都是提供服务的一种方式,不应该是排他性而应该是互补性.

大家在实际工作中应该灵活运用,工具只是工具而已!

当然,如果涉及到某些命令而恰恰又没有相应的图形化选项时,那么图形化工具此时便无能为力,这正是命令行工具大显身手的好机会!

GitBashcmd的关系

git bash 是命令行工具,提供了内置终端,不仅可以运行 git 命令还可以运行某些基本的 linux 命令.

但是,用过 Windows 电脑的小伙伴可能或多或少都听说过 Windows 电脑默认也自带了一个命令行工具,也就是 cmd工具.

虽然唤出 cmd 的方式不如 git bash 那么直观方便,但是调用快捷键 Win+R 然后输出 cmd 也是调出命令行工具的,让我们一睹芳容 (个人觉得样式丑极了)!

56.png


既然两者都是命令行工具,那么为什么 GitBash 要重复造轮子?直接用 cmd 不行吗?


57.jpg

无论是 GitBash 还是 cmd 命令行工具,两者均支持 Git 命令,所以两者用哪一个都可以.

既然已经重复造好了轮子,要么比原来的轮子强,要么和原来的轮子有些不一样, GitBash 轮子自然也理应如此吧?

首先两者均支持 Git 命令,体现不出 GitBash 轮子的优势,那我们就抛开 Git 命令不谈,仅仅从普通命令入手感受下两个轮子到底有什么不同之处.

下面我们以创建目录以及文件为例,演示下两者如何操作.

首先闪亮登场的是 GitBash 命令行,将会新建 git-bash 目录并新建一些文件,详情参考下面命令.

Administrator@snowdreams1006 MINGW64 /f/workspace
# 列出当前工作空间的文件目录
$ ls
backup/ private-cloud-backup/ snowdreams1006.github.io/
Administrator@snowdreams1006 MINGW64 /f/workspace
# 递归创建 `test/git-bash` 目录
$ mkdir -p test/git-bash
Administrator@snowdreams1006 MINGW64 /f/workspace
# 切换到 `test/git-bash` 目录
$ cd test/git-bash
Administrator@snowdreams1006 MINGW64 /f/workspace/test/git-bash
# 创建 `git-bash.md` 文件
$ touch git-bash.md
Administrator@snowdreams1006 MINGW64 /f/workspace/test/git-bash
# 输出指定内容到 `git-bash.md` 文件
$ echo "created by git bash" > git-bash.md
Administrator@snowdreams1006 MINGW64 /f/workspace/test/git-bash
# 查询 `git-bash.md` 文件内容
$ cat git-bash.md
created by git bash
Administrator@snowdreams1006 MINGW64 /f/workspace/test/git-bash
# 创建 `delete.md` 文件
$ touch delete.md
Administrator@snowdreams1006 MINGW64 /f/workspace/test/git-bash
# 列出当前工作空间下的文件目录
$ ls
delete.md git-bash.md
Administrator@snowdreams1006 MINGW64 /f/workspace/test/git-bash
# 删除 `delete.md` 文件
$ rm delete.md
Administrator@snowdreams1006 MINGW64 /f/workspace/test/git-bash
# 列出当前工作空间下的文件目录
$ ls
git-bash.md

git bash 表演告一段落,现在上场的是 cmd ,想要实现和 git bash 类似的效果,又会有一番什么样的操作,让我们拭目以待!

# 列出当前工作空间的文件目录
F:workspaceestcmd>dir
驱动器 F 中的卷是 常用
卷的序列号是 62AE-62CA
F:workspaceestcmd 的目录
2019/05/17 周五 17:32 <DIR> .
2019/05/17 周五 17:32 <DIR> ..
0 个文件 0 字节
2 个目录 94,247,124,992 可用字节
# 递归创建 `testcmd` 目录
F:workspace>mkdir testcmd
# 切换到 `testcmd` 目录
F:workspace>cd testcmd
# 输出指定内容并创建 `cmd.md` 文件
F:workspaceestcmd>echo "created by cmd" > cmd.md
# 查询 `cmd.md` 文件内容
F:workspaceestcmd>more cmd.md
"created by cmd"
# 创建 `delete.md` 文件
F:workspaceestcmd>echo nul > delete.md
# 列出当前工作空间下的文件目录
F:workspaceestcmd>dir
驱动器 F 中的卷是 常用
卷的序列号是 62AE-62CA
F:workspaceestcmd 的目录
2019/05/17 周五 17:39 <DIR> .
2019/05/17 周五 17:39 <DIR> ..
2019/05/17 周五 17:36 19 cmd.md
2019/05/17 周五 17:39 6 delete.md
2 个文件 25 字节
2 个目录 94,247,026,688 可用字节
# 删除 `delete.md` 文件
F:workspaceestcmd>del delete.md
# 列出当前工作空间下的文件目录
F:workspaceestcmd>dir
驱动器 F 中的卷是 常用
卷的序列号是 62AE-62CA
F:workspaceestcmd 的目录
2019/05/17 周五 17:40 <DIR> .
2019/05/17 周五 17:40 <DIR> ..
2019/05/17 周五 17:36 19 cmd.md
1 个文件 19 字节
2 个目录 94,247,026,688 可用字节

现在 git bashcmd 两个命令行工具都顺利完成了此次比赛,虽然具体命令有些不同,但是殊途同归,条条大路通罗马,不是吗?

通过上述比赛实验,不难看出: git bash 命令更贴近 linux 命令, cmd 命令则是纯纯的 windows 命令.

所以 git bash 重复造轮子可能是为了让我们在 windows 上获得比较好的 linux 体验吧,毕竟 cmd 那一套逻辑和 linux 逻辑差别真心不小呢!


58.png

当然,如果你熟悉 windows 命令行语法那最好使用 cmd 命令行,不过如果你更熟悉 linux 命令行语法那当然建议使用 git bash 命令行.

总之,适合自己的才是最好的,两者也可以相互结合,优势互补.

GitBash为主,cmd为辅

正常情况下,命令行操作一般适合 linux 用户, windows 用户可能更熟悉也更偏爱图形化工具!

下面假设我们都是 linux 用户,比较习惯于 linux 语法,想要在 windows 电脑上获得比较好的 linux 体验, 那么命令行首选 git bash 工具.

实际上, git bash 命令行内置终端是 mintty ,而 mintty 终端模拟器并不能完全取代cmd 命令行.


59.png


相关文章
|
1月前
|
存储 开发工具 git
|
30天前
|
开发工具 git
【GIT 第二篇章】GIT常用命令
Git常用命令涵盖初始化、状态管理、提交、分支处理、远程操作等关键流程。`git init`启动本地仓库,`git clone`下载远程仓库。通过`git status`和`git diff`检查工作状态与差异。利用`git add`暂存文件,`git commit`保存更改。借助`git branch`、`git checkout`、`git merge`和`git rebase`管理分支。使用`git fetch`、`git pull`和`git push`同步远程仓库。通过`git reset`、`git revert`和`git checkout`实现版本回退。
48 0
|
1天前
|
开发工具 git 开发者
GIT命令的综合总结
Git的学习曲线可能比较陡峭,但熟练掌握这些命令后,你将能够更加高效地管理和协作你的项目。希望这份指南能帮助你成为Git的高效用户。
18 7
|
22天前
|
存储 开发工具 git
Git常用命令汇总
这是Git命令速查表,涵盖从版本库创建、文件添加与提交、状态查询到分支管理、标签创建及撤销操作的各项常用指令。同时介绍了如何通过GitHub进行代码仓库的创建与同步,帮助用户高效地使用Git进行版本控制和协作开发。
Git常用命令汇总
|
27天前
|
Kubernetes Shell Docker
在K8S中,如果容器没有bash命令,如何进⼊容器排查问题?
在K8S中,如果容器没有bash命令,如何进⼊容器排查问题?
|
1月前
|
存储 安全 开发工具
掌握这5个Git高级命令,让你的开发效率飞速提升!
掌握这5个Git高级命令,让你的开发效率飞速提升!
|
1月前
|
缓存 Shell 开发工具
Git Bash⭐一、安装软件,与Git Bash基础命令
Git Bash⭐一、安装软件,与Git Bash基础命令
|
1月前
|
开发工具 git
Git常用命令
Git常用命令
29 1
|
24天前
|
开发工具 git 开发者
Git进阶:超越pull与push,掌握这5条提效命令
【8月更文挑战第27天】在软件开发的世界里,Git作为版本控制的佼佼者,几乎成为了每位开发者的必备工具。然而,许多初学者甚至资深开发者在日常使用中,往往局限于git pull和git push这两个基础命令,忽略了Git强大的功能和灵活性。今天,我们就来探索五条能够显著提升你Git使用效率的进阶命令,让你的版本控制之路更加顺畅。
31 0
|
25天前
|
存储 网络安全 开发工具
Git 协同开发详解:从基础命令到多人协作
Git 协同开发详解:从基础命令到多人协作
27 0