Windows下Git的安装与配置(Cygwin)

ygwin 的安装非常简单,先在其官方网站 http://www.cygwin.com/下载安装程序—一个只有几百KB的setup.exe文件,然后即可开始安装。 (1) 安装过程中会让用户选择安装模式:通过网络安装、下载后安装或者通过本地软件包缓存(安装时自动在本地目录下建立的软件包缓存)安装。如果是第一次安装 Cygwin,因为本地尚没有软件包缓存,当然只能选择从网络安装,


(2) 选择安装目录,默认为 C:\cygwin ,如下图所示。这个目录将作为 Cygwin shell 环境的根目录(根卷),Windows 的各个盘符将挂载在根卷的一个特殊目录之下。
image

(3) 设置本地软件包缓存目录,默认为setup.exe 所处的目录,
image

(4) 设置网络连接方式是否使用代理等,如图所示。默认会选择第一项:“直接网络连接”。如果一个团队有很多人要使用 Cygwin,架设一个能够提供软件包缓存的 HTTP 代理服务器会节省大量的网络带宽和大量的时间。
image

(5) 选择一个 Cygwin 源,如图所示。如果在上一个步骤中选择使用 HTTP 代理服务器,就必须选择 HTTP 协议的 Cygwin 源。
image

(6) 从所选的 Cygwin 源下载软件包索引文件,然后显示软件包管理器界面,我们要在这一步选择安装Git相关的软件包。默认安装的 Cygwin 没有安装 Git 软件包。如果在首次安装过程中忘记通过包管理器选择安装 Git 或其他相关软件包,可以在安装后再次运行 Cygwin 的安装程序 setup.exe 。当再次进入Cygwin 包管理器界面时,在搜索框中输入 git,这里我们需要安装下面几个软件,
git
git-completion: 提供 Git 命令的自动补齐功能。安装该软件包时会自动安装其所依赖的 bash-completion 软件包。
vim: Git 默认的编辑器。
openssh: SSH 客户端,为访问 SSH 协议的版本库提供支持。


Cygwin 的配置和使用
运行 Cygwin后会进入 shell 环境并见到熟悉的 Linux 提示符,可以通过执行 cygcheck 命令来查看 Cygwin 中安装的软件包的版本。例如,查看 Cygwin 软件包本身的版本:
1

cygcheck -c cygwin


Cygwin 中访问 Windows 的各个磁盘目录。首先,我们在Cygwin中执行mount这个命令,
image

也就是说,在 Cygwin 中以路径 /cygdrive/c/Windows来访问Windows 下的 C:\Windows 目录。
设置Cygwin的Home目录
修改 Cygwin 启动的批处理文件(如:C:\cygwin\Cygwin.bat ),在批处理的开头添加如下的一行代码,就可以防止其他软件在 Windows 引入的 HOME 环境变量被带入到 Cygwin 中。
1

Set HOME=d:\cygwin\home
//
这个根据你自己的目录来设置

命令行补齐忽略文件名大小写
Windows 的文件系统忽略文件名的大小写,在 Cygwin 下最好对命令行补齐进行相关设置,以忽略大小写,这样使用起来更方便。编辑文件 ~/.inputrc ,在其中添加设置“set completion-ignore-case on”,或者取消已有的相关设置前面的井(#)号注释符。修改完毕后,再重新进入 Cygwin,这样就可以实现命令行补齐对文件名大小写的忽略。
Git配置

  1. 由于在windows平台下,所以可以禁止Git对文件权限的跟踪
    1

git config --system core.fileMode
false

  1. 解决Git命令输出中文文件名的显示问题
    1

git config --system core.quotepath
false

  1. Git命令输出中开启颜色显示
    1

git config --system color.ui
true

  1. 配置username和email
    1
    2

git config --global user.name
"Jim"

git config --global user.email Jim@gmail.com

  1. 通过命令来查看Git设置
    1

git config -l

可以得到如下的结果,

1
2
3
4
5
6
7
8
9
10

user.name=Jim

user.email=Jim@gmail.com

color.ui=
true

core.filemode=
false

core.quotepath=
false

core.repositoryformatversion=0

core.bare=
false

core.logallrefupdates=
true

core.ignorecase=
true

credential.helper=cache --timeout=3600

  1. 配置alias命令别名
    1
    2
    3
    4
    5
    6
    7

git config --system
alias
.st status

git config --system
alias
.ci
"commit -s"

git config --system
alias
.co checkout

git config --system
alias
.br branch

git config --system
alias
.ll
"log --pretty=fuller --stat --graph --decorate"

git config --system
alias
.
ls
"log --pretty=oneline --graph --decorate"

git config --system
alias
.ss
"status -sb"

Git访问SSH 服务
这里的SSH还是指Cygwin里面的SSH,也就是OpenSSH。这块其实可以参考一下GitHub上的帮助页面https://help.github.com/articles/generating-ssh-keys

  1. 生成SSH密钥对
    1

ssh
-keygen -t rsa -C
"jim@gmail.com"

你会看到如下的输出:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21

Generating public
/private
rsa key pair.

Enter
file
in
which
to save the key (
/home/eason
.wu/.
ssh
/id_rsa
):

Created directory
'/home/eason.wu/.ssh'
.

Enter passphrase (empty
for
no passphrase):

Enter same passphrase again:

Your identification has been saved
in
/home/eason
.wu/.
ssh
/id_rsa
.

Your public key has been saved
in
/home/eason
.wu/.
ssh
/id_rsa
.pub.

The key fingerprint is:

58:7d:74:d9:d6:52:79:24:d7:18:e4:
dd
:bd:03:28:94 jim@gmail.com

The key's randomart image is:

+--[ RSA 2048]----+

| .. ..=BB|

| .E ..o+=O|

| .......o=|

| o .. . .|

| . S o |

| .|

| |

| |

| |

+-----------------+

  1. 连接GitHub
    这部分可以参考 https://help.github.com/articles/generating-ssh-keys
  2. Clone项目
    image

    小结
    利用Git来进行源代码管理是一个长期学习的过程,对于Git的理解也必须在不断的使用中体会。 总之, 每天进步一点
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,271评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,275评论 2 380
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,151评论 0 336
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,550评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,553评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,559评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,924评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,580评论 0 257
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,826评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,578评论 2 320
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,661评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,363评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,940评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,926评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,156评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,872评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,391评论 2 342

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,580评论 18 139
  • Git简介: 什么是Git? Git是目前世界上最先进的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。...
    做有趣的恶魔阅读 727评论 0 9
  • GIT分布式版本控制系统最佳实践 这篇文章来自于老男孩教育高级架构师班12期的徐亮偉同学。 首先感谢老男孩架构师班...
    meng_philip123阅读 3,391评论 4 36
  • 像我这种对电影热情不是特别高的人,如果主动去搜一部电影,那一定是我看的某本书中无意提到了,而这样的电影,一般不会太...
    木清水阅读 164评论 4 0
  • 查理·芒格说:“找到好配偶的最佳方法是什么呢?唯一的最佳方法是你首先必须值得拥有好配偶,因为从定义上来说,好配偶可...
    朱朱的餐具阅读 154评论 0 2