zoukankan      html  css  js  c++  java
  • Git简介、安装和相关配置

     

    目录

    一、git、github、gitlab简介及教程分享

    二、git及相关工具的安装

    三、生成ssh key及多个key的配置

    四、git config 配置(多用户)

    正文

    一、git、github、gitlab简介及教程分享

    Git 是一款免费、开源的分布式版本控制系统。

    Git官方手册(英文):https://git-scm.com/book/en/v2

    这里有详细的使用说明。

    Git教程推荐:

    1. 推荐廖雪峰的Git教程,号称史上最浅显易懂的Git教程:https://www.liaoxuefeng.com/wiki/896043488029600
    2. 另外推荐一个学习git的网站,以玩游戏的方式学习git操作:https://learngitbranching.js.org/

    github和gitlab是两个git托管服务网站

    github也是全球最大的开源社区

    Git只是GitHub上用来管理项目的一个工具。

    github还有很多其他的用途

    (1)下载学习优秀的开源项目

    (2)多人协作

    (3)搭建博客、个人网站

    (4)Gitbook写书写文档

    GitLab和GitHub的区别就是私有仓库免费。适合公司项目。

    二、git及相关工具的安装

    • Windows上安装Git
    • Mac OS上安装Git
    • Linux上安装Git

    安装教程:

    https://www.liaoxuefeng.com/wiki/896043488029600/896067074338496

    安装包下载地址:https://git-scm.com/downloads

    三、生成ssh key及多个key的配置

    为什么要配置公钥和私钥?

    git使用https协议,每次pull push都要输入密码。使用git协议和ssh密钥,可以省去这个麻烦。

    我们本地生成一对公钥和私钥。把公钥添加到github或gitlab。

    ssh key 配置步骤:

    1.首先打开github网站settings SSH keys  看下说明

    https://github.com/settings/keys

    https://help.github.com/en/github/authenticating-to-github/connecting-to-github-with-ssh

    https://help.github.com/en/github/authenticating-to-github/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent

    2. 查看电脑上是否已经生成过ssh key

    查看ssh key的两种方式:

    (1)打开电脑用户目录下的 .ssh文件夹

    本机示例:C:Usersshawang.ssh

    (2)git bash 命令查看

    进入.ssh文件夹

    cd ~/.ssh

     

     ~表示用户目录

    ls 查看文件

     

    如果.ssh里面有密钥文件,看下是不是自己以前生成过的key,并且自己的github或gitlab用户中心里面是否添加了对应的公钥,如果你不知道或不确定,那就重新弄一个。

    如果有,并且可以用,那就跳过生成这一步。

    如果没有.ssh文件夹或.ssh里面没有文件,那就生成一个(后面有生成方法步骤)。

    (3)查看github或gitlab 是否添加SSH Key

    a. 打开github或gitlab网站,登录(如果没注册要先注册再登录) 

    b. 点击用户头像菜单->Settings

    c. 点击Settings界面的左侧菜单: "SSH and GPG keys"

    如果ssh keys列表没内容说明从未添加过ssh key,如果有内容,也有可能是以前添加过其他电脑上的公钥。比如个人电脑,以前公司电脑等等。这里可以添加多个key,连接多台电脑。有时候git拉取代码或提交代码失败很可能是因为这里配对失败。所以要确认当前操作的电脑上的ssh key公钥是否添加到了这里。如果不能确定,很简单,重新生成一个ssh key,并添加。

      

    3. 生成一个新的ssh key

    这里我演示一下生成2个key的步骤。一个用于github,一个用于gitlab.

    首先你得有github或gitlab账号(邮箱),没有的话先注册一个,或让公司开通一个。

    电脑上任意处右键菜单git bash打开git命令窗口

    输入命令:

    ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

    -t 类型 -b 长度 -C 注释

    -C后面输入你的github账号里的邮箱

    本机示例如下:

    第1步:

     

    第2步:

     

    这里要注意,如果你只需要1个key,那么可以使用默认值,enter进入下一步。如果要生成多个key,就要修改默认值。如下:

     

    默认文件是:/c/Users/shawang/.ssh/id_rsa

    改成:/c/Users/shawang/.ssh/id_rsa_github

    id_rsa_github这个名字可以自己随意命名。下一个key我会命名为id_rsa_gitlab。

    第3步:设置密码(可按enter键跳过)

    第4步:确认密码(可按enter键跳过)

     

     如截图所示就是生成成功了。

    查看ssh key的两种方式:

    (1)打开c盘->用户->shawang(自己的用户目录)->.ssh文件夹

    能看到生成了这两个文件,id_rsa_github.pub是公钥,要添加到github(gitlab)网站上。

    (2)git bash命令查看

    先定位到用户目录下.ssh文件夹

    cd ~/.ssh

     

     查看内容

    ls

     

     4. 复制公钥

    复制公钥的两种方式:

    (1)电脑上打开.ssh文件夹里的公钥文件(.pub后缀),用编辑器打开,全选复制内容

    (2)在git bash里打印公钥

    cat id_rsa_gitlab.pub

      

    选中内容并按enter键复制

    5. 添加公钥到github或gitlab网站

    在github或gitlab的settings SSH keys里面添加一个key

    github 添加ssh key 如下:

     

    gitlab 添加ssh key如下:

     

    注意:保存多个key的关键在于不要使用默认的命名。再加上.ssh里面config文件的配置。

    刚刚生成了一个gitlab的key,现在再生成一个github的key

     

    现在能看到.ssh文件夹里出现了两对公钥私钥

     

    .ssh config配置

    因为有两对密钥,所以现在要配置一下config

    在.ssh下新建一个config文件(如果没有的话)

    参考:http://gitlab.knxdevelop.com:8888/help/ssh/README#locating-an-existing-ssh-key-pair

    参考:https://www.cnblogs.com/popfisher/p/5731232.html

    本机ssh config示例:

    # gitlab.knxdevelop.com
    Host gitlab.knxdevelop.com
      Hostname gitlab.knxdevelop.com
      User shawang
      Port 2222
      PreferredAuthentications publickey
      IdentityFile ~/.ssh/id_rsa_gitlab
    
    # github
    Host github.com
      HostName github.com
      IdentityFile ~/.ssh/id_rsa_github
      PreferredAuthentications publickey
      User cathywang
    

      

    ssh测试

    需要网络良好才能测试成功

    ssh -vT git@github.com
    

    -v是指显示测试过程

    git@后面的内容是测试的服务器,比如gitlab.knxdevelop.com

    ssh连接服务器失败,但是服务器ip能够ping通

    检查端口,ssh默认端口是22,如果这个端口被修改过,就要配置端口参数

    四、git config 配置(多用户)

    参考文章:https://segmentfault.com/a/1190000019714862

    git config user一定要设置吗?为什么?

    我尝试了一下,就算没有设置相应的user(只要有就可以),一样可以提交代码,但是提交的用户名称不对。所以需要设置多个用户。

    按目录配置多用户

    用户目录 ~/ 下的三个git配置文件

    ~/.gitconfig

    [includeIf "gitdir:~/self-workspace/"]
        path = .gitconfig-self
    [includeIf "gitdir:~/workspace/"]
        path = .gitconfig-work

    ~/.gitconfig-self

    [user]
        name = cathy1024
        email = 2136946914@qq.com

    ~/.gitconfig-work

    [user]
    	name = shawang
    	email = cathywang@knx.com.cn

    针对单个项目的git user配置

    git bash 定位到当前项目

    输入命令:

    修改user.name

    git config user.name "cathy1024"

    修改user.email

    git config user.email "2136946914@qq.com"

    如图所示:

    结束

    谢谢!

  • 相关阅读:
    P3121 [USACO15FEB]审查(黄金)Censoring (Gold)
    P3389 【模板】高斯消元法
    P2260 [清华集训2012]模积和
    【Codevs1237&网络流24题】餐巾计划(费用流)
    【POJ3680】Intervals(费用流)
    【BZOJ1070】修车(费用流)
    【BZOJ1834】network 网络扩容(最大流,费用流)
    【POJ1149&BZOJ1280】PIGS(最大流)
    【BZOJ2127】happiness(最小割)
    【BZOJ3894】文理分科(最小割)
  • 原文地址:https://www.cnblogs.com/cathy1024/p/12737610.html
Copyright © 2011-2022 走看看