便携版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文件的格式:

1
2
3
[user]
name = Your name
email = Your e-mail

如果你不会设置环境变量,可以参考文章后面的内容。

NOTE:上面的配置文件中,等号后面的信息不需要加引号。

ssh配置

git-portable的ssh配置和桌面版git的配置步骤基本相同,只是某些步骤不一样。

下面我只介绍和传统配置不一样的地方。在使用下面的命令生成密钥之后,会提示你输入密钥的路径。

1
$ ssh-keygen -t rsa -C "Your e-mail"

不要着急地按回车,这里我们不使用默认的路径,要改成git-portable的安装路径,如g:\\git_portable\\.ssh。其他的步骤是相同的,我这里就不在赘述了。

当然,如果你在配置ssh之前已经将HOME环境变量设置为git-portable的安装路径的话,那么这一步就可以回车使用默认路径了。

补充

环境变量的设置

对于设置环境变量,我这里要多说一点。如果你习惯使用git Bash的话,一般设置环境变量可以使用set或者export命令,我曾今试过set命令,但是并不起作用,所以我建议最好使用export命令来设置环境变量,如

1
$ export HOME=g:\\git_portable

这时你可以使用echo $HOME来查看环境变量是否设置成功。

如果你习惯使用git cmd的话,可以使用set命令来查看和修改环境变量。

NOTE:这里的环境变量设置是你每次使用git-portable的第一步,千万不要忘记。另外,这里只是临时修改环境变量,所以不用担心会影响到你的系统默认的设置。

添加git ignore命令

设计一个比较好.gitignore文件是一个比较难的事,而github上有一个针对不同语言或编程环境的.gitignore文件列表可供我们免费使用。但是如果每次从上面下载拷贝的话,也是比较麻烦的。于是,有人基于这个文件列表设计了一个自动添加.gitignore文件的命令——git ignore。这其实并不是一个真正意义上的命令,而是一个别名,因此配置起来非常地容易。针对我们的git_portable,我们可以在前面提到的.gitconfig文件中添加下面的语句:

1
2
[alias]
ignore = "!gi() { curl -L -s https://www.gitignore.io/api/$@ ;}; gi"

如果你对这个配置感兴趣的话,可以参考博客:为你的仓库自动创建.gitignore

当然这个命令使用起来也十分简单,

1
git ignore <programming-language> >> .gitignore

另外,使用git ignore list命令可以查看所支持的.gitignore类型。

参考资料

  1. segmentfault社区-git-ssh 配置和使用
  2. stackoverflow论坛-Portable Git and GitHub: SSH Keys
  3. GitHub-git-portable
  4. CSDN-奋斗的小鸟的博客-为你的仓库自动创建.gitignore