Git快速入门-安装配置篇

Git快速入门系列文章
- Git快速入门-安装配置篇
- Git快速入门-常用命令之独奏篇
- Git快速入门-常用命令之交响乐篇
- Git快速入门-git stash 暂存变更,git reset 撤销commit,git revert 回退远程版本库

1.概述

Git入门系列包括git客户端的安装配置,日常开发中常用命令。本文是第一篇,介绍git客户端的安装,配置。

2.GIt安装

2.1 windows下安装和配置GIt(msysGit)

msysGit能在windows下提供一个bash shell环境,让用户能通过命令行的方式使用Git。msysGit官网下载地址(本教程基于1.9.5版本,官网版本已有更新,但命令操作不会有多少改变)

2.1.1 安装msysGit

双击安装程序(如Git-1.9.5-preview20150319.exe) 开始安装,如下图所示

Git快速入门-安装配置篇_第1张图片

Next->Next,进入Select Components 窗口,按下图选择:

Git快速入门-安装配置篇_第2张图片

Next, 进入如下窗口,询问你是否修改系统的PATH环境变量:

Git快速入门-安装配置篇_第3张图片

选择“Use Git from Git Bash only”, 将不会修改windows的PATH,这是最安全的选择。第三个选项有可能会覆盖掉WIndows下的”find”和“sort”,不建议选择。Next,进入“Configuring the line ending conversions” 窗口,设置行结束符转换方式:

Git快速入门-安装配置篇_第4张图片

选择第一项,意思是git从服务器拉代码到本地时,会自动把行结束符从LF(unix-style下)转换成CRLF(windows下),而当提交代码到服务器时,又会自动把行结束符从CRLF(windows下)转换成LF(unix-style下)。点击Next开始安装。

2.1.2 msysGit 的配置

完成msysGit安装后,点击Git Bash图标,启动msysGit,如下图所示。

Git快速入门-安装配置篇_第5张图片

(1)如何访问Windows下的盘符
直接通过“/c” 即可访问Windows的C盘,用“/d”即可访问Windows的D盘。

$ ls -ld /d/data/ 
drwxr-xr-x    3 dellzj   Administ        0 May 13 12:39 /d/data/

(2)命令行补齐和忽略文件大小写
msysGit默认已经安装并启用了Git的命令行补齐功能,并且命令行补齐时忽略文件名的大小写,非常方便。

(3)bash窗口的易用性设置
鼠标右击bash窗口顶部边缘,选择属性

Git快速入门-安装配置篇_第6张图片

勾选“快速编辑模式”。

Git快速入门-安装配置篇_第7张图片

这样,就能随时用鼠标划选窗口中的内容并右击,即可复制,如下图

Git快速入门-安装配置篇_第8张图片

字体Tab和布局Tab可以调整窗口大小,这里不再赘述。

2.1.3 msysGit中 shell环境的中文支持

(1) ls命令显示中文文件名
mysGit中ls命令显示中文文件名的时候有乱码问题。下面先创建一个名为“中文”的目录,然后ls查看,却显示为一串问号。

$ mkdir 中文
$ ls 
??????

实际上只要在ls命令后添加参数 –show-control-chars 即可正确显示中文

$ ls --show-control-chars 
中文

为方便起见,为ls设置别名,将alias命令添加到配置文件/etc/profile中

alias ls='ls --show-control-chars --color=auto' 
alias l='ls -CF' 
alias la='ls -A' 
alias ll='ls -alF'

修改后 运行 source /etc/profile 别名设置即生效.

Git快速入门-安装配置篇_第9张图片

2.1.4 使用SSH协议

git服务器(如GitLab或者GitHub)一般会提供两种常用的传输协议(HTTPS和SSH)。推荐使用SSH方式,因为以公钥认证方式访问SSH协议的Git服务器时无需输入口令,而且更安全。

(1)生成 公钥/私钥对
例如我在GitLab上的账号[email protected] ,则用如下命令生成公私钥对

$ ssh-keygen -t rsa -C "[email protected]"

系统将会询问你想保存的文件名称和打开文件的密码(该密码可以为空),整个过程如下所示

$ ssh-keygen -t rsa -C "[email protected]"
Generating public/private rsa key pair.
Enter file in which to save the key (/c/Users/dellzj/.ssh/id_rsa): id_rsa_flysqrlboy #这里指定保存的文件名称 (不指定文件名就默认使用id_rsa)
Enter passphrase (empty for no passphrase): #这里设置打开私钥文件的密码,可以直接回车不设置
Enter same passphrase again:                #确认密码
Your identification has been saved in id_rsa_flysqrlboy.
Your public key has been saved in id_rsa_flysqrlboy.pub.
The key fingerprint is:
4b:ac:f0:80:5d:c7:6f:54:c4:5b:e7:49:d9:84:73:41 flysqrlboy@gmail.com
The key's randomart image is:
+--[ RSA 2048]----+
|           oo .E=|
|       .   .. +o+|
|      . o .  o.=.|
|   o . o o  .  ..|
|  . +   S o      |
|     + o o       |
|      o .        |
|                 |
|                 |
+-----------------+

在~/.ssh 下已经生成两个文件 id_rsa_flysqrlboy (私钥文件) , id_rsa_flysqrlboy.pub (公钥文件)。
使用如下命令把公钥内容拷贝到系统剪贴板里:
Windows:

clip < ~/.ssh/id_rsa.pub 

Mac:

pbcopy < ~/.ssh/id_rsa.pub 

(2)发布公钥到GitHub

Git快速入门-安装配置篇_第10张图片

添加 SSH Key

Git快速入门-安装配置篇_第11张图片

(3) 配置GIT SSH连接参数
~/.ssh 目录下新建一个config文件

$ ls
config                          id_rsa_flysqrlboy.pub
id_rsa_flysqrlboy               known_hosts

输入以下内容

host github.com
port 22
user git
PreferredAuthentications publickey
identityfile ~/.ssh/id_rsa_flysqrlboy

host 指定github的地址;port 是Github服务器的ssh 端口;git是Github服务器上的用户 ;identityfile 指定刚生成的私钥文件 。

(4) 测试SSH到Github上的连接

$ ssh -T [email protected] -p 22
Hi flysqrlboy! You've successfully authenticated, but GitHub does not provide shell access.

返回上面的结果表示已成功连接。

2.1.5 Kdiff3安装和配置

Kdiff3是解决冲突的GUI工具,可以用它来作为Git解决冲突时的默认工具(具体如何使用kdiff3来解决冲突,后续文章再讲)。
(1)下载安装Kdiff3(下载地址),假设安装目录为C:\Program Files\KDiff3
(2)Git Kdiff3配置

$ git config --global merge.tool kdiff3
$ git config --global mergetool.kdiff3.cmd '"C:\\Program Files\\KDiff3\\kdiff3.exe" $BASE $LOCAL $REMOTE -o $MERGED'

(3)kdiff3 编码设置
kdiff3 默认采用操作系统的编码(例如中文windows 的GBK),所以如果遇到UTF-8的文件,会出现中文乱码,所以需要配置kdiff3的编码为UTF-8.如下

Git快速入门-安装配置篇_第12张图片

把默认的system改成UTF-8

Git快速入门-安装配置篇_第13张图片

至此,windows下msysGit已经安装并配置好。下一篇将讲解日常工作中常用的Git命令。

你可能感兴趣的:(git,git,git安装,msysGit,git入门)