Git是一款免费、开源的分布式版本控制系统,用于敏捷高效地处理任何或大或小的项目。而由Git衍生出的项目托管平台,包括Github和Gitlab两种。开发者可以将开源项目免费托管在Github的云中,但私有库则需要付费。所以,基于节约开支、方便管理和安全性高等好处,诸多互联网公司选择在自己的服务器上搭建Gitlab来托管代码。
在初次接触到Git时,除了感慨版本控制系统的功能强大之外,遇到了很多配置的问题,现总结如下。
SSH Key配置
在Git Bash中输入 ssh-keygen -t rsa -C “xxx@yourmail.com“ 后输入配置公钥密钥保存位置及密码,完成后登录至Github/GitLab网站并将.ssh文件下的id_rsa.pub文件中的密钥复制到Github/GitLab的SSH Keys选项添加认证。在本地Git Bash登录Github/GitLab账户,利用 ssh -T git@yourserver 确认登录。
1 | 一些常用的Git命令: |
一个小技巧:如果你常用Git Bash的话,一定要在 .gitconfig 文件中添加 [alias] 标签并自定义一些缩写方式,如“co = checkout”、“br = branch”、“ci = commit -m”等。
Git统一换行符
Git支持的换行符有三种,分别为 CRLF(\r\n)、LF(\n)、CR(\r),一般来说LF格式使用最为广泛,在此博主也推荐在开发过程中尽量统一格式为 LF(Intellij
IDEA/Android studio中File-Line Separators设置)。当在Windows系统使用Git在保存文件修改操作时换行符报错,保证代码中只包含 一种 换行符并在 .gitconfig 文件中加入如下代码即可。
1 | [core] |
取消新项目进行pull/push操作时输入密码
在添加了SSH Key后,登陆已经不需要输入账号密码。但是在新项目pull和push操作时还是会输入账号密码,使用以下方法可以避免重复输入操作。
- Git Bash进入Git的根路径,在我的电脑上是——C:\Users\xxx
- 在该路径下输入 touch .git-credentials 创建文件
- 继续输入“vim .git-credentials”编辑文件,如果是Github项目直接输入https://yourusername:yourpassword@github.com。但如果是Gitlab项目,笔者建议直接退出文件编辑而选择在Git
Bash中输入一遍账号密码(可自动添加到.git-credentials文件中而避免路径写错等问题)。 - 在Git Bash中输入 git config –global credential.helper store,成功后在 .gitconfig 文件中可以看到 helper = store 字符。
- 执行一次pull或push操作,输入一次账号密码后打开.git-credentials文件,是否发现多了一条 http(https)://yourusername:yourpassword@yourserver 记录?再次执行pull或push操作,已经不需要输入账号密码了。
总结
熟练掌握Git的使用几乎是每个程序员的必经之路,Git的使用方式并不复杂,但笔者一路走来也遇到了不少坑。值得庆幸的是,很多优秀的集成开发环境已经将Git融入,使用起来更加简单且样式美观。不过我觉得还是应该掌握Git Bash的基础使用方法后再去使用其他Git UI,并非出于对命令窗口的执着,而是——源码 咱们都理解了,再用起来 封装 岂不是更熟练吗?