1、简介

Git是一个开源的分布式版本控制系统,能用于快速高效地处理任何或小或大的项目,它是Linus Torvalds为了帮助管理Linux内核开发而开发的一个源码开放的版本控制软件。

2、Linux平台安装git

Git的工作需要调用curl、zlib、openssl等库,因此在安装git之前需要安装这些依赖库,在Linux系统上使用apt-get或yum命令进行安装。

(1)命令行安装

首先安装库依赖:

$ sudo apt-get install libcurl4-gnutls-dev libexpat1-dev gettext \
  libz-dev libssl-dev

然后继续安装git:

$ sudo apt-get install git

安装完成后查看git的版本号:

$ git --version

如下正常显示出版本号,则git安装完成:

(2)源码安装

我们也可以通过Git的源码进行安装,先去Git官网下载最新版本源码,链接如下:

https://git-scm.com/download

解压并安装下载的源码包:

$ mv git-2.23..tar.gz ~/github/
$ cd ~/github/
$ tar -zxvf git-2.23..tar.gz
$ cd git-2.23./
$ make prefix=/usr/local all
$ sudo make prefix=/usr/local install

测试是否已经安装完成:

$ git --version

运行结果如下所示则安装完成:

3、初次使用配置git

一般在新的系统上,都需要先配置下自己的Git的工作环境,Git提供了一个叫做git config的工具,专门用来配置和读取相应的工作环境变量,这些环境变量决定了Git在各个环节的具体工作方式和行为,这些变量可以存放在以下三个不同的地方:

a)/etc/gitconfig文件:系统中对所有用户都普遍适用的配置,若使用git config时用--system选项,读写的就是这个文件。

b)~/.gitconfig文件:用户目录下的配置文件只适用于当前用户,若使用git config时用--global选项,读写的就是这个文件。

c)当前项目的git目录中的配置文件(工作目录中的.git/config文件):这里的配置仅仅对当前项目有效。每一个级别的配置都会覆盖上层的相同配置,所以.git/config里的配置会覆盖/etc/gitconfig中的同名变量。

(1)用户信息配置

用户信息是第一个需要配置的,包括个人的用户名和电子邮件地址,每次git提交时都会引用这两条信息:

$ git config --global user.name “xxx”
$ git config --global user.email “xxx@example.com”

使用--global选项,那么更改的配置文件就是位于当前用户的主目录下(~/.gitconfig文件),以后所有的项目都会默认使用这里配置的用户信息,如果想要在某个特定的项目使用其他名字和邮箱,将--global选项去掉,然后重新配置即可,新的配置将保存到当前项目的.git/config文件中。

(2)文本编辑器

Git需要用户输入一些额外信息的时候,会自动调用一个外部文本编辑器,默认会使用操作系统指定的默认编辑器,这个编辑器也可以自行设置:

$ git config --global core.editor vim

(3)差异分析工具

设置解决合并冲突时使用哪种差异分析工具,比如改用vimdiff的话:

$ git config --global merge.tool vimdiff

(4)查看配置信息

配置完成后,如果想查看已有的配置信息,可以使用下面命令:

$ git config --list

有时候可能会看到重复的变量名,这说明它们来自不同的配置文件(例如/etc/gitconfig和~/.gitconfig),不过Git最终采用的是最后一个。

另外,还可以直接查看某个环境变量的设定,将特别的名字加上即可:

$ git config user.name

4、git-ssh的配置和使用

(1)为什么需要配置公钥和私钥

Git使用https协议时,每次pull或push都需要输入密码,提交代码时相当麻烦,使用git协议,然后使用SSH密钥,可以实现免密登录。SSH是加密传输的,Git可使用RSA加密传输算法,RSA要解决的一个核心问题是,如何使用一对特定的数字,使其中的一个数字可以用来加密,而另外一个数字可以用来解密,这两个数字就是使用Git时遇到的public key(公钥)和private key(私钥),例如:从github发过来的是用公钥加密过的数据,可以使用本地的私钥来进行还原。

(2)检查SSH密钥是否存在

打开终端,输入下面的命令检查是否存在现有的SSH密钥:

$ ls -al ~/.ssh

检查目录列表是否已经有SSH公钥,默认情况下,检查是否有以下文件:

id_dsa.pub
id_ecdsa.pub
id_ed25519.pub
id_rsa.pub

如果接收到错误提醒”~/.ssh不存在”,可以使用命令行生成SSH密钥。

(3)生成SSH密钥

在终端下运行下面命令:

$ ssh-keygen -t rsa -b  -C "xxx@example.com"

运行上面命令时,会提醒用户输入一个名字来保存内容,不用管,直接回车,然后会提醒用户输入SSH密钥管理密码,输入相应的密码或者直接回车都可以,最后,公钥和私钥会生成并保存到~/.ssh目录下,可以使用ls命令进行查看。

(4)添加SSH密钥到ssh-agent

ssh-agent是一种控制用来保存公钥身份验证所使用的私钥的程序,其实就是一个密钥管理器,运行ssh-agent以后,使用ssh-add将私钥交给ssh-agent保管,其它程序需要身份验证的时候可以将验证申请交给ssh-agent来完成整个认证过程:

启动ssh-agent:

$ eval "$(ssh-agent -s)"

添加生成的SSH key到ssh-agent:

$ ssh-add ~/.ssh/id_rsa

(5)添加SSH公钥到github账号下

在终端下运行命令:

$ cat ~/.ssh/id_rsa.pub

然后将输出的内容进行复制,复制完成后,按下面步骤添加公钥到github下:

在任意页面的右上角,点击个人资料照片,然后点击Settings按钮如下:

在用户设置的侧边栏中,点击SSH and GPG keys按钮,如下:

 然后点击New SSH key去添加SSH密钥,如下:

按下图进行标签输入,SSH公钥复制粘贴,然后添加:

 最后提示需要输入账号的密码,直接输入即可完成SSH公钥添加:

(6)测试SSH连接

在终端下,输入下面命令:

$ ssh -T git@github.com

如果能看到自己的用户名,并提示已经成功授权,则SSH连接已经成功了,如下运行结果:

5、使用SSH URL克隆项目

登录到github账号查看仓库,可以使用SSH URL将项目clone到计算机上,如下:

 在终端上运行命令:

$ git clone git@github.com:Cqlismy/myGitTest.git

要使用SSH URL,必须在计算机上生成SSH密钥对,并将公钥添加到自己github账号,如上所介绍的如何生成SSH密钥和在Git中添加SSH密钥,当在命令行中使用SSH URL对远程仓库执行git clone、git fetch、git pull或者git push命令时,系统将不会再要求用户输入github账号用户名和密码。

6、git push提示输入用户名和密码

使用SSH协议对仓库进行管理能免密登录,但是,当某些仓库项目不属于SSH协议时,例如https协议,当使用git push推送代码到远程,就会提示输入github账号用户名和密码,如下:

下面给出一个Linux下的解决方法:

在用户根目录下~/创建文件.git-credentials,并打开编辑,输入内容:

$ cd ~/
$ touch .git-credentials
$ vim .git-credentials

添加下面内容:

https://username:password@github.com

然后执行命令添加配置:

$ git config --global credential.helper store

查看配置列表是否多了credential.helper变量:

$ git config --list

这时,再去执行git push将不再需要输入github账号的用户名和密码。

7、如何删除git

先找到git的安装位置:

$ which -a git

然后进入到git所在的目录:

$ cd /usr/local/bin/

将git进行删除:

$ sudo rm -rf git*

8、小结

本文主要简单介绍了git的安装以及git的一些基本配置,并简单介绍了如何在Git中添加SSH密钥的办法,并对在Linux下使用HTTPS协议管理远程仓库时git push提交代码需要输入github账号的用户名和密码的问题提出了一个解决方法。

参考:

https://blog.csdn.net/chinassj/article/details/80323641

https://www.runoob.com/git/git-tutorial.html

https://www.runoob.com/git/git-install-setup.html

http://iissnan.com/progit/html/zh/ch1_4.html

https://segmentfault.com/a/1190000002645623

https://segmentfault.com/q/1010000000118744

https://www.jianshu.com/p/e93edea128a3

git安装和使用配置的更多相关文章

  1. Git 笔记二-Git安装与初始配置

    git 笔记二-Git安装与初始配置 Git的安装 由于我日常生活和工作基本上都是在Windows上,因此此处只说windows上的安装.Windows上的安装和其他程序一样,只需要到http://g ...

  2. git安装以及webstorm配置git

    下载及安装请移步   https://www.cnblogs.com/specter45/p/github.html 用webstorm上传代码时,首先要先下载git,网址一搜就可以搜到,然后开始配置 ...

  3. windows下git安装以及基本配置

    一.首先要下载git然后进行默认安装即可,然后查看系统环境变量是否添加     二.桌面右击鼠标,选择git bash 进入操作页面 git --version 检测是否安装成功   安装完成有配置一 ...

  4. mac git安装及github配置

    准备下载一个react的demo程序包,需要本地用到git.早就向配置了,那就安装配置一下吧. 首先,原来mac已经安装了git,版本 2.7 ,我用 brew又安装了一份git 版本 2.10.2. ...

  5. git安装以及gitlib配置

    安装Git:详见http://www.cnblogs.com/xiuxingzhe/p/9300905.html 开通gitlab(开通需要咨询所在公司的gitlab管理员)账号后,本地Git仓库和g ...

  6. Git安装及基本配置

    一.在Linux上安装 1.Linux系统安装 使用Linux发布版包含的基础软件包管理工具可以很容易安装Git.例如,在Ubuntu系统上可使用以下指令安装Git: $ sudo apt-get i ...

  7. 版本管理之Git(二):Win7上Git安装及简单配置过程

    一.安装包 msysgit(Windows版本的Git) 下载地址:http://code.google.com/p/msysgit/downloads/list?q=full+installer+o ...

  8. Linux 环境下 Git 安装与基本配置

    索引: 目录索引 参看代码 GitHub: git.txt 一.Linux (DeepinOS) 环境 1.安装 sudo apt-get update sudo apt-get install gi ...

  9. Windows 下 Git 安装与初始配置

    官方下载地址:https://git-scm.com/download/win,我下载的最新版是 Git-2.15.1.2-64-bit.exe . Windows 下安装步骤 1.相关信息,直接“ ...

随机推荐

  1. 左右对齐Justify遇到的坑

    遇到的问题 这两天在开发一个病历的对外展示页面,设计稿上label是左右拉伸对齐的,显示效果如下: 怎么实现这种效果呢? 首先想到的是文字中间加空格,但是这种方式太low了,而且不太容易控制.网上查资 ...

  2. vue 的 Class 与 Style 绑定

    操作元素的 class 列表和内联样式是数据绑定的一个常见需求.因为它们都是属性,所以我们可以用 v-bind 处理它们:只需要通过表达式计算出字符串结果即可.不过,字符串拼接麻烦且易错.因此,在将 ...

  3. SPring boot jpa 封装查询条件

    最近使用spring data jpa做了两个项目,对于动态查询的不友好做了个类似hibernate的封装,记录也分享下 首先定义一个所有条件的容器,继承Specification /** * 定义一 ...

  4. 基于RGB与HSI颜色模型的图像提取法

    现实中我们要处理的往往是RGB彩色图像.对其主要通过HSI转换.分量色差等技术来提出目标. RGB分量灰度化: RGB可以分为R.G.B三分量.当R=G=B即为灰度图像,很多时候为了方便,会直接利用某 ...

  5. Spark GraphX图算法应用【分区策略、PageRank、ConnectedComponents,TriangleCount】

    一.分区策略 GraphX采用顶点分割的方式进行分布式图分区.GraphX不会沿着边划分图形,而是沿着顶点划分图形,这可以减少通信和存储的开销.从逻辑上讲,这对应于为机器分配边并允许顶点跨越多台机器. ...

  6. OEL7.6安装Oracle Database 19C(VERSION 19.3.0.0)

    1.eDelivery中下载Oracle Database 19C和Oel的安装介质,并安装好操作系统 2.安装Oracle环境准备工具 环境准备工具会自动完成用户和用户组的创建.系统参数配置.依赖包 ...

  7. win中Oracle简易客户端和plsql的配置

    连接数据库有2种方式:在本机安装Oracle数据库或者是安装一个oracle简易客户端 当然,简易客户端跟oracle数据库比较少了一些功能 连接方式: 1)简易连接 sqlplus scott/ti ...

  8. linux的性能调优

    单机调优: 分析性能瓶颈的原因,解决它.   cpu子系统 内存子系统 IO子系统 网络系统       @cpu子系统调优 cpu技术指标 xeon E5520 2.27GHz 8192kb # c ...

  9. 解决postMessage跨域问题

    在HTML5中新增了postMessage方法,postMessage可以实现跨文档消息传输(Cross Document Messaging),Internet Explorer 8, Firefo ...

  10. tensorflow运行时错误:服务似乎挂掉了,但是会立刻重启的.

    以前在POD里跑起来,没问题的示例代码. 移到jupyter中,多给两个GPU,有时运行就会爆出这个错误: 于是,按网上的意见,暂时加了个使用GPU的指定, 暂时搞定. 如下红色部分. import ...