三招教你轻松扩展 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


相关文章
|
3月前
|
存储 开发工具 git
|
12天前
|
缓存 Java Shell
[Git]入门及其常用命令
本文介绍了 Git 的基本概念和常用命令,包括配置、分支管理、日志查看、版本回退等。特别讲解了如何部分拉取代码、暂存代码、删除日志等特殊需求的操作。通过实例和图解,帮助读者更好地理解和使用 Git。文章强调了 Git 的细节和注意事项,适合初学者和有一定基础的开发者参考。
32 1
[Git]入门及其常用命令
|
3月前
|
开发工具 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`实现版本回退。
66 0
|
1月前
|
开发工具 git
git学习四:常用命令总结,包括创建基本命令,分支操作,合并命令,压缩命令,回溯历史命令,拉取命令
这篇文章是关于Git常用命令的总结,包括初始化配置、基本提交、分支操作、合并、压缩历史、推送和拉取远程仓库等操作的详细说明。
104 1
git学习四:常用命令总结,包括创建基本命令,分支操作,合并命令,压缩命令,回溯历史命令,拉取命令
|
15天前
|
开发工具 git 开发者
|
15天前
|
开发工具 git 开发者
提升Git效率:掌握这5个高级命令
【10月更文挑战第17天】
37 0
|
2月前
|
存储 Linux 开发工具
掌握 Git 命令:每个开发者的必备技能
无论团队项目还是个人开发,掌握 Git 命令都是必备技能。本文介绍 Git 的基本概念与命令,如初始化仓库 (`git init`)、添加文件 (`git add`)、提交更改 (`git commit`)、检出分支 (`git checkout`)、合并分支 (`git merge`) 等,还分享了高级技巧如查看差异 (`git diff`)、撤销提交 (`git revert`)、修复合并冲突 (`git mergetool`) 和使用别名简化命令 (`git config --global alias.ci commit`)。
|
2月前
|
机器学习/深度学习 Shell 开发工具
Python使用管道执行git命令报错|4-7
Python使用管道执行git命令报错|4-7
|
2月前
|
存储 Linux 开发工具
Git基础命令,分支,标签的使用【快速入门Git】
本文详细介绍了Git版本控制系统的基础概念和常用命令,包括工作区、暂存区和版本库的区别,文件状态的变化,以及如何进行文件的添加、提交、查看状态、重命名、删除、查看提交历史、远程仓库操作和分支管理,还涉及了Git标签的创建和删除,旨在帮助读者快速入门Git。
Git基础命令,分支,标签的使用【快速入门Git】
|
2月前
|
存储 Linux 开发工具
掌握 Git 命令:每个开发者的必备技能
本文介绍 Git 的核心概念,如仓库、提交、分支与合并,并提供了常用命令,如初始化仓库 (`git init`)、提交更改 (`git commit -m &quot;Commit message&quot;`)、拉取 (`git pull`) 和推送 (`git push`) 等。此外,还分享了高级技巧,如撤销提交 (`git revert &lt;commit&gt;`)、交互式暂存 (`git add -i`) 和使用别名简化命令 (`git config --global alias.ci commit`) 等,帮助开发者提升效率。无论是初学者还是资深开发者,都能从中受益。