[华为云在线课程][Git基础与实操][第1章][Git基础理论篇][Git安装与配置]
【摘要】 在学习一个工具之前,需要先学会如何下载和安装,Git同样如此,在不同的环境下,要知道如何正确安装。本节主要围绕Linux和Windows进行Git安装的说明。并在安装结束后,对常见的配置进行说明。 1,Linux下安装GitGit诞生于Linux平台并作为版本控制系统率先服务于Linux核心,因此在Linux安装Git是非常方便的。可以通过不同的方式在Linux安装Git。安装Git的两种方...
在学习一个工具之前,需要先学会如何下载和安装,Git同样如此,在不同的环境下,要知道如何正确安装。本节主要围绕Linux和Windows进行Git安装的说明。并在安装结束后,对常见的配置进行说明。
1,Linux下安装Git
- Git诞生于Linux平台并作为版本控制系统率先服务于Linux核心,因此在Linux安装Git是非常方便的。可以通过不同的方式在Linux安装Git。
- 安装Git的两种方式:
- 一种方法是通过Linux发行版的包管理器安装已经编译好的二进制格式的Git软件包。
- 另外一种方式就是从Git源码开始安装。
1.1,包管理器安装
Linux系统:Ubuntu 10.10(maverick)或更新版本,Debian(squeeze)或更新版本。
$ sudo aptitude install git
$ sudo aptitude install git-doc git-svn git-email gitk
- 其中git软件包包含了大部分Git命令,是必装的软件包。
- 软件包git-svn、git-email、gitk本来也是Git软件包的一部分,但是因为有着不一样的软件包依赖(如更多Perl模块,tk等),所以单独作为软件包发布。
Linux系统:RHEL、Fedora、CentOS、openEuler等版本:
$ yum install git
$ yum install git-svn git-email gitk
1.2,源码安装
- 访问Git的官方网站:http://git-scm.com/。下载Git源码包,例如:git-2.19.0.tar.gz。
- 展开源码包,并进入到相应目录中。
$ tar -jxvf git-2.19.0.tar.bz2
$ cd git-2.19.0
- 安装方法写在INSTALL文件当中,参照其中的指示完成安装。下面的命令将Git安装在/usr/local/bin中。
$ make prefix=/usr/local all
$ sudo make prefix=/usr/local install
- 安装Git文档(可选)。
$ make prefix=/usr/local doc info
$ sudo make prefix=/usr/local install-doc install-html install-info
1.3,命令补齐
- Linux的shell环境(bash)通过bash-completion软件包提供命令补齐功能,能够实现在录入命令参数时按一下或两下TAB键,实现参数的自动补齐或提示。例如输入git com后按下TAB键,会自动补齐git commit。
- 将Git源码包中的命令补齐脚本复制到bash-completion对应的目录中:
$ cp contrib/completion/git-completion.bash /etc/bash_completion.d/
- 重新加载自动补齐脚本,使之在当前shell中生效:
$ . /etc/bash_completion
- 为了能够在终端开启时自动加载bash_completion脚本,需要在本地配置文件~/.bash_profile或全局文件/etc/bashrc文件中添加下面的内容:
if [ -f /etc/bash_completion ]; then
. /etc/bash_completion
fi
2,Windows下安装Git
- 目前Git提供的Windows安装包自带MinGW(Minimalist GNU for Windows,最简GNU工具集),在安装后MinGW提供了一个bash提供的shell环境(Git Bash)以及其他相关工具软件,组成了一个最简系统(Minimal System),这样在Git Bash中,Git的使用和在Linux下使用完全一致。
2.1,安装Git
3,Git基本配置
-
Git有三种配置,分别以文件的形式存放在三个不同的地方。可以在命令行中使用git config工具查看这些变量。
-
系统配置(对所有用户都适用)
- 存放在git的安装目录下:%Git%/etc/gitconfig:若使用git config时用–system选项,读写的就是这个文件:git config --system core.autocrlf
-
用户配置(只适用于该用户)
- 存放在用户目录下。例如Linux存放在:~/.gitconfig:若使用git config时用–global选项,读写的就是这个文件:git config --global user.name
-
仓库配置(只对当前项目有效)
- 当前仓库的配置文件(也就是工作目录中的.git/config文件):若使用git config时用–local选项,读写的就是这个文件:git config --local remote.origin.url
- 注意:每一个级别的配置都会覆盖上层的相同配置,例如.git/config里的配置会覆盖%Git/etc/config中的同名变量。
3.1,配置个人身份
-
首次的Git设定(设定身份,自己做主)
- git config --global user.name “zhang san”
- git config --global user.email “zhangsan123@huawei.com”
-
这个配置信息会在Git仓库中提交的修改信息中体现,但和Git服务器认证使用的密码或者公钥密码无关。
-
注意事项:行不更名,坐不改姓,责任追踪/应用之间的用户关联/贡献度统计
3.2,文本换行符配置
- 假如你正在Windows上写程序,又或者你正在和其他人合作,他们在Windows上编程,而你却在其他系统上,在这些情况下,你可能会遇到行尾结束符问题。这是因为Windows使用回车和换行两个字符来结束一行,而Mac和Linux只使用换行一个字符。虽然这是小问题,但它会极大地扰乱跨平台协作。
- Git可以在你提交时自动地把行结束符CRLF转换成LF,而在签出代码时把LF转换成CRLF。用core.autocrlf来打开此项功能,如果是在Windows系统上,把它设置成true,这样当签出代码时,LF会被转换成CRLF:$ git config --global core.autocrlf true
- Linux或Mac系统使用LF作为行结束符,因此你不想在Git在签出文件时进行自动的转换;当一个以CRLF为行结束符的文件不小心被引入时你肯定想进行修正,把core.autocrlf设置成input来告诉Git在提交时把CRLF转换成LF,签出时不转换:$ git config --global core.autocrlf input。这样会在Windows系统上的签出文件中保留CRLF,会在Mac和Linux系统上,包括仓库中保留LF。
- 如果你是Windows程序员,且正在开发仅运行在Windows上的项目,可以设置false取消此功能,把回车符记录在库中。$ git config --global core.autocrlf false
3.3,文本编码配置
- i18n.commitEncoding选项:用来让git commit log存储时,采用的编码,默认UTF-8。
- i18n.logOutputEncoding选项:查看git log时,显示采用的编码,建议设置为UTF-8。
# 中文编码支持
git config --global gui.encoding utf-8
git config --global i18n.commitencoding utf-8
git config --global i18n.logoutputencoding utf-8
# 显示路径中的中文
git config --global core.quotepath false
3.4,与服务器的认证配置
3.4.1,常见的两种协议认证方式
HTTP/HTTPS协议认证
- 设置口令缓存:git config --global credential.helper store
- 添加HTTPS证书信任:git config http.sslverify false
SSH协议认证
- SSH协议是一种非常常用的Git仓库访问协议,使用公钥认证、无需输入密码,加密传输,操作便利又保证安全性
3.4.2,SSH认证的配置过程
生成公钥:
- Git工具安装成功后运行Git Bash,在弹出的客户端命令行界面中输入下面提示的命令。
- $ ssh-keygen -t rsa -C “your email address”
添加公钥到代码平台:
- 登录代码平台
- 进入"Profile Settings"
- 点击左侧栏的"SSH Keys"
- 点击"Add SSH Key",将刚生成的公钥文件的内容,复制到"Public Key"栏,保存即可。
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)