便携版Git(git-portable)的使用与配置
写在前面
用过git的人都知道,在每个linux系统上都自带git软件。但对于windows系统就不是这样了。而在国内,使用git的人不算多数,所以并不是每台windows系统上都装有git。如果我们需要临时使用git,而那台电脑又刚好没有安装git的话,这就比较麻烦了。你可能会临时装一个git,但是又苦于无法避免繁琐的安装和配置步骤。还好,我们有更好的解决方法——使用便携版的git,即git-portable。
简介
git-portable是针对windows版git所设计的一款软件。顾名思义,它就是便携版或移动版的git。你可以选择将它安装在U盘等便携设备上。它不需要安装,也不会在注册表上留下记录。正因为这样,你也无法像桌面版的git那样,使用右键“git Bash here”或者“git GUI here”。
安装
安装方法十分简单,只要在git官网将git-portable 7Z压缩包下载下来,解压到你的U盘上即可。另外我们需要说明的是,这个7Z压缩包不需要手动解压,只要双击就可自解压。当然,如果你不怕麻烦的话,你也可以手动解压。但是,并不推荐手动解压,因为搞不好git无法正常运行。具体方法可以参考该软件的readme文件。
初始化配置
为了减少不必要的麻烦,我们最好对git-portable进行一下初始化配置。这里也是本文的重点内容。
用户信息配置
每次使用git commit
命令进行提交时,都会检查是否有提交者的信息。为了避免每次都要重新设置用户信息,我建议最好将这些配置保存下来。git-portable每次都会检查$HOME
路径下的.gitconfig
文件夹,因此我们只需要将配置保存在git-portable的安装路径下,然后将这个路径临时设置为$HOME
即可。下面是.gitconfig
文件的格式:
[user]
name = Your name
email = Your e-mail
如果你不会设置环境变量,可以参考文章后面的内容。
NOTE:上面的配置文件中,等号后面的信息不需要加引号。
ssh配置
git-portable的ssh配置和桌面版git的配置步骤基本相同,只是某些步骤不一样。
下面我只介绍和传统配置不一样的地方。在使用下面的命令生成密钥之后,会提示你输入密钥的路径。
$ ssh-keygen -t rsa -C "Your e-mail"
不要着急地按回车,这里我们不使用默认的路径,要改成git-portable的安装路径,如g:\\git_portable\\.ssh。其他的步骤是相同的,我这里就不在赘述了。
当然,如果你在配置ssh之前已经将HOME
环境变量设置为git-portable的安装路径的话,那么这一步就可以回车使用默认路径了。
补充
环境变量的设置
对于设置环境变量,我这里要多说一点。如果你习惯使用git Bash的话,一般设置环境变量可以使用set
或者export
命令,我曾今试过set
命令,但是并不起作用,所以我建议最好使用export
命令来设置环境变量,如
$ export HOME=g:\\git_portable
这时你可以使用echo $HOME
来查看环境变量是否设置成功。
如果你习惯使用git cmd的话,可以使用set
命令来查看和修改环境变量。
NOTE:这里的环境变量设置是你每次使用git-portable的第一步,千万不要忘记。另外,这里只是临时修改环境变量,所以不用担心会影响到你的系统默认的设置。
添加git ignore命令
设计一个比较好.gitignore文件是一个比较难的事,而github上有一个针对不同语言或编程环境的.gitignore文件列表可供我们免费使用。但是如果每次从上面下载拷贝的话,也是比较麻烦的。于是,有人基于这个文件列表设计了一个自动添加.gitignore文件的命令——git ignore
。这其实并不是一个真正意义上的命令,而是一个别名,因此配置起来非常地容易。针对我们的git_portable,我们可以在前面提到的.gitconfig
文件中添加下面的语句:
[alias]
ignore = "!gi() { curl -L -s https://www.gitignore.io/api/$@ ;}; gi"
如果你对这个配置感兴趣的话,可以参考博客:为你的仓库自动创建.gitignore。
当然这个命令使用起来也十分简单,
git ignore <programming-language> >> .gitignore
另外,使用git ignore list
命令可以查看所支持的.gitignore类型。
参考资料
- segmentfault社区-git-ssh 配置和使用
- stackoverflow论坛-Portable Git and GitHub: SSH Keys
- GitHub-git-portable
- CSDN-奋斗的小鸟的博客-为你的仓库自动创建.gitignore