3.3 Git在Windows下的使用

在《程序员修炼之道:从小工到专家》中提到了一个让程序员非常尴尬的局面:老板要看进度,结果程序员拿不出来,只好跟老板撒谎:我的代码被猫吃了。

虽然我们的代码不会被猫吃掉,但是几乎每个程序员都会犯的错误就是:在下班的时候忘记保存,或者突然断电,结果导致写了几个小时的代码就这样没有了。因此,每个程序员必须要对自己的代码做版本控制。

在2009年之前,国内的人大部分都用SVN。从2010年开始,越来越多的人开始使用Git。本节专门为Windows程序员准备。因为对于Linux和Mac用户来说,Git都是现成的一行命令就能搞定。

3.3.1 为什么要使用Git Bash

Git Bash不但提供了Git,还提供了bash,一种非常不错的类似于Linux的命令行。在Windows环境下,命令行模式与Linux/Mac是相反的。例如:

•Linux/Mac下:(使用左斜线作为路径分隔符)

$ cd /workspace/happy_book_Vue.js

•Windows下:(使用右斜线作为路径分隔符,并且要分成C、D等盘)

C:\Users\dashi>d:                   (进入D盘)
D:\>cd workspace\happy_book_Vue.js   (进入到对应目录)

只要不是做.NET/微信小程序/安卓开发,都应该转移到Linux平台上。原因是:代码被编译后,会运行在Linux+Nginx的服务器中。最好的办法就是从现在开始就适应Linux的环境。另外,命令行在绝大多数情况下比“图形化”的操作界面好用。

3.3.2 安装git客户端

在Windows下选择Git Bash。官方网址为https://gitforwindows.org/

步骤01打开下载页面后就可以看到Logo,如图3-9所示。

图3-9 下载页面

步骤02选择最新版本,这里下载2.16.2。

步骤03下载并运行,可以看到欢迎对话框,如图3-10所示。

图3-10 欢迎对话框

步骤04单击Next按钮,在打开的对话框中看到选择安装的内容,保持默认就好,如图3-11所示。

图3-11 选择安装内容

步骤05单击Next按钮,在打开的对话框中选择哪个编辑器作为git消息编辑器。


•nano:最简单的Linux下的编辑器,同Windows下的记事本。学习曲线是0。

•vim:需要长时间学习的编辑器,被称为“编辑器之神”。

•notepad++:加强型记事本,也很好用,学习曲线是0。

•visual studio code:一款IDE。


对于新手来说,建议选择notepad ++,如图3-12所示。

图3-12 选择编辑器

步骤06单击Next按钮,询问使用什么风格的命令行。这里建议选择默认的Use Git from Windows Command Prompt,如图3-13所示。

图3-13 选择默认命令行

步骤07单击Next按钮,询问使用什么风格的SSH连接程序,如图3-14所示。


•OpenSSH SSH的首选,是Git bash自带的。

•Plink第三方用户自己安装的SSH连接程序。

图3-14 选择SSH连接程序

步骤08单击Next按钮,询问使用什么SSH后端,这里选择默认的OpenSSL,如图3-15所示。

图3-15 选择SSH后端

步骤09单击Next按钮,询问使用什么Checkout/commit风格。因为Windows与linux对待文件的处理是不同的,如回车在Windows下是\r\n,而在linux下就是\n,所以这里选择默认的第一项即可(用Windows风格checkout,用unix风格commit),如图3-16所示。

图3-16 选择Checkout/commit

步骤10单击Next按钮,询问用什么风格的console(命令行)。这里一定要选择Use MinTTY(the default terminal of MSYS2),也就是类似于Linux风格的命令行。可以说,它就是非常著名的Cygwin,如图3-17所示。

图3-17 选择console(命令行)

步骤11单击Next按钮,询问其他配置项目。直接选择默认即可,如图3-18所示。

图3-18 设置其他配置项目

步骤12继续单击Next按钮,就安装成功了,如图3-19所示。

图3-19 安装成功

3.3.3 使用Git Bash

(1)打开Git Bash。

打开Git Bash,可以看到这个页面,如图3-20所示。

图3-20 打开Git Bash

一片空荡荡。估计习惯了鼠标和我的电脑的读者会非常不习惯。不要紧,我们慢慢来。

(2)查看当前路径:pwd。

输入$ pwd就可以知道当前位置了。

dashi@i5-16g MINGW64 ~
$ pwd
/c/Users/dashi

在上面的结果中可以看到:


•dashi是window系统的用户名(笔者的外号叫大师)。

•i5-16g是电脑在局域网的名字。

•MINGW64是操作系统的名字。可以认为它是Linux、Windows、Mac之外的第4种操作系统。

•$是命令行的前缀。后面的pwd就是输入的命令。

•/c/Users/dashi就是当前位置。这个是Linux风格。实际上,它对应的Windows的标准路径是C:\Users\dashi


每次打开Git Bash的时候,都是默认的“当前用户在Windows”中的用户文件夹。如果我们在一个窗口中打开这个路径,就可以看到我的用户文件夹了,如图3-21所示。

图3-21 用户文件夹

可以看到输入的路径是C:\Users\dashi,结果在GUI中显示的文字是">此电脑>本地磁盘(C:) >用户> dashi"。

(3)切换路径:cd。

例如,想进入工作目录(位于D:\workspace\happy_book_Vue.js),继续写关于Vue.js书,就可以这样:

dashi@i5-16g MINGW64 ~
$ cd /d/workspace/happy_book_Vue.js/
dashi@i5-16g MINGW64 /d/workspace/happy_book_Vue.js (master)
$

大家可以看到,D:\在Git Bash中对应的地址是/d,这个就是唯一需要注意的点了。

其他git基本知识(git clone、git commit、git push等)就不在本书中赘述了。