参考《Git权威指南》安装整理,图书配套网址参见【1】
1. Cygwin下安装配置Git
1. 在Windows下安装配置Git有2种不同的方案
(1)msysGit, (2)Cygwin下使用Git。
作者推荐在Cygwin下使用Git,因为在Cygwin下很容易获得与Git使用相关的一些开源工具。而msysGit不能满足这个需求。
2. 首先要安装Cygwin
初次安装Cygwin时建议全部安装,这样就不会出现一些缺少模块的错误,而且Git也会被一同安装上,新手使用,比较省心。
3. 忽略文件权限的可执行位 (P39)
通过下面的配置可禁止Git对文件权限的跟踪
$ git config --system core.fileMode false
上面的命令修改的是 D:\cygwin64\etc 下的 gitconfig文件,也就是Git的system的配置文件。
4. Git中文支持
Cygwin下Git对中文支持非常好,除了下面一点:文件名中含中文的文件,在工作区,查看状态,查看历史更改概要等,文件名中的中文不能正常显示。
解决办法:
$ git config --global core.quotepath false
上面的命令修改的是 D:\cygwin64\home\msi 下的.gitconfig 文件,也就是Git在该用户下的全局配置文件。
5. Cygwin下Git访问SSH服务
以公钥认证方式访问SSH协议的Git服务器时无需输入口令,而且更安全。(访问HTTP协议的Git服务器时,每次都需要输入口令。)
然而书中的内容不太明确。可以参考【2】【3】的方法。
(1)创建SSH Key
打开cygwin后,默认是在home目录“~”下。使用cygpath命令可以查看~目录对应的windows下的路径
$ cygpath -w ~/ D:\cygwin64\home\msi\
所以ssh-keygen命令生成的.ssh目录是在 D:\cygwin64\home\msi\ 目录下面。
$ ssh-keygen -t rsa -C "youremail@163.com"
一路回车,使用默认值即可,也无需设置密码。在用户主目录里找到.ssh目录,里面有id_rsa和id_rsa.pub两个文件,这两个就是SSH Key的秘钥对,id_rsa是私钥,不能泄露出去,id_rsa.pub是公钥。
(2)设置GitHub SSH Keys。
登陆GitHub->Settings->“SSH Keys”,然后,点“Add SSH Key”,起个Title,在Key文本框里粘贴id_rsa.pub文件的内容,点“Add Key”。
(3)创建Repository
注意repository的名字要与本地Git库的名字一致。其他保持默认即可。
(4)根据GitHub给出的提示,可以从这个仓库克隆出新的仓库,也可以把一个已有的本地仓库与之关联,然后,把本地仓库的内容推送到GitHub仓库。
这里,把本地仓库的内容推送到GitHub仓库。
$ git remote add origin git@github.com:zhchnchn/learngit.git
然后,就可以把本地库的所有内容推送到远程库上:
$ git push -u origin master
注意,在这一步会跳出一个问题让你选择,因为这是首次连接SSH服务器,还未建立对该SSH服务器的信任。选yes即可。可以看到,选yes之后,将GitHub的SSH服务器添加到了本地的known hosts中。
$ git push -u origin master The authenticity of host 'github.com (192.30.252.131)' can't be established. RSA key fingerprint is 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added 'github.com,192.30.252.131' (RSA) to the list of known hosts. Counting objects: 3, done. Delta compression using up to 4 threads. Compressing objects: 100% (2/2), done. Writing objects: 100% (3/3), 268 bytes, done. Total 3 (delta 0), reused 0 (delta 0) To git@github.com:zhchnchn/learngit.git * [new branch] master -> master Branch master set up to track remote branch master from origin.
从现在起,只要本地作了提交,就可以通过命令:
$ git push origin master
把本地master分支的最新修改推送至GitHub。
2. Win7下安装配置Git
2.1 msysGit
2.1.1 下载
http://msysgit.github.io/
当前版本是Git-1.9.4-preview20140929
2.2.2 安装
1. 安装过程中,询问是否修改环境变量,选择“Use Git Bash Only”. 即只在msysGit提供的Shell
(NOTE: 这个步骤最好选择第二项“Use Git from the Windows Command Prompt”, 这样在Windows的命令行cmd中也可以运行git命令了。这样会对以后的一些操作带来方便,
比如Win7下安装配置gVim(http://www.cnblogs.com/zhcncn/p/4151701.html))
2. 配置行结束标记,保持默认“Checkout Windows-style, commit Unix-style line endings”.
2.2.3 中文乱码问题解决方法
1. ls 不能显示中文目录
解决办法:在git/git-completion.bash中增加一行【4】:
alias ls='ls --show-control-chars --color=auto'
另外,Git Shell 不支持 ls -l的缩写形式ll,也为其添加一个alias
alias ll='ls -l'
2.2.4 运行 Git 前的配置
1. 配置你个人的用户名称和电子邮件地址
$ git config --global user.name "xxx" $ git config --global user.email xxx@example.com
2. 配置GitHub SSH
(1)首先使用 ssh-keygen 生成 SSH 密钥
$ ssh-keygen -t rsa -C "youremail@163.com"
(2)参考上面Cygwin下的配置方法,配置Github SSH。
2.2 TortoiseGit
2.1.1 下载
http://download.tortoisegit.org/tgit/
当前版本是TortoiseGit-1.8.11.0-64bit.
如需简体中文版,应同时下载 zh_CN 语言包:TortoiseGit-LanguagePack-1.8.11.0-64bit-zh_CN.msi.
注意,语言包也要相应的为64位的。
2.2.2 安装TortoiseGit
1. 在“Choose SSH Client”选择界面,保持默认选择“TortoiseGitPlink…”
2. 在“Custom Setup”界面,保持默认值,Location改为D盘
2.2.3 安装中文语言包
双击安装完成即可。
2.2.4 设置
在桌面空白处点击右键,右键菜单中可以看到已经加入了TortoiseGit快捷键
1. 选择“Settings”,进入“Settings-TortoiseGit”界面,选择“General”选项卡,设置本机器的 git 路径(一般会默认设置好的,比如我本地Git路径D:\Program Files (x86)\Git\bin就默认已经设置好了),并选择语言为 中文(简体);
2. 选择“Network”选项卡,查看SSH路径。SSH 默认已设置好了(D:\Program Files\TortoiseGit\bin\TortoiseGitPlink.exe )
3. 选择“Git”选项卡,查看用户名、邮箱,发现也已经被默认设置好了。
2.2.5 使用TortoiseGit下载代码
1. 在目标目录下点击右键,选择 “git 克隆”, 添加版本库地址 URL(比如https://github.com/zhchnchn/VimConfig.git)。
NOTE:必须是https类型的url。SSH类型的url会克隆失败。
2. 点击 ok 即可下载一份新版本库。
2.3 VS2013集成Git
1. 可以通过VS2010自带的扩展管理器安装。
2. 在 vs 菜单中点击“工具”/“扩展管理器”,在右上角搜索框中直接输入“Git”搜索,选择Git Source Control Provider”,然后点击“Download”,下载完成后直接安装,安装后重启 VS2010 即可。
3. 关于该插件如何使用,请参考【7】
References
【1】Git权威指南 (http://www.worldhello.net/gotgit/index.html)
【2】廖雪峰Git教程-远程仓库(http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/001374385852170d9c7adf13c30429b9660d0eb689dd43a000)
【3】廖雪峰Git教程-添加远程库(http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/0013752340242354807e192f02a44359908df8a5643103a000)
【4】git windows中文目录乱码问题解决(http://blog.chinaunix.net/uid-9789774-id-3080448.html)
【5】msysgit + TortoiseGit:在 windows 上安装配置版本控制工具 Git 图形化使用(http://lzw.me/a/msysgit-tortoisegit-win-git.html)
【6】Win7上Git安装及配置过程(http://blog.chinaunix.net/uid-25806493-id-3319781.html)
【7】Git Source Control Provider(http://gitscc.codeplex.com/documentation)