[华为云在线课程][Git基础与实操][第1章][Git基础理论篇][Git安装与配置]

举报
John2021 发表于 2022/01/05 23:37:33 2022/01/05
【摘要】 在学习一个工具之前,需要先学会如何下载和安装,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,源码安装

$ 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仓库中提交的修改信息中体现,但和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

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。