【Git】安装+配置多git连接+常用命令+常见问题

安装&配置

下载安装包

官网

云笔记下载

配置

1、打开Git Bash用账号配置环境

2、配置用户名,邮箱

# 配置用户名
git config --global user.name "username"    //( "username"是自己的账户名,)
# 配置邮箱
git config --global user.email "username@email.com"     //("username@email.com"注册账号时用的邮箱)

3、查看配置是否OK

git config --global --list

4、生成ssh

ssh-keygen -t rsa
  • 连敲三次回车键,结束后去系统盘目录下(一般在 C:\Users\你的用户名.ssh)(mac: /Users/用户/.ssh)查看是否有。ssh文件夹生成,此文件夹中以下两个文件

5、把ssh文件配置到github中

  • 将ssh文件夹中的公钥( id_rsa.pub)复制
  • 在GitHub的个人账户的设置中找到设置ssh的界面
  • title随便起一个,将公钥( id_rsa.pub)文件中内容复制粘贴到key中,然后点击Ass SSH key

6、测试一下配置是否成功连接

ssh -T git@github.com
  • 注意如果以前配置过git会提示是否用以前的git地址,注意一下。

配置多git用户切换

  • 由于公司多个git库,每次下项目我都是覆盖之前的糊里糊涂的非常不方便,上网查阅了很多帖子各种报错,其实只要步骤明确,真的不难,我的是多个gitlab。

1、设置公共用户和邮箱

  • 这个username和email的名字我试了随便写,不会影响你生成的密钥和你连接是否成功
git config --global user.name "putong"
git config --global user.email "putong@putong.com"
  • 查看用户列表(看是否设置成功)
git config --global --list

2、生成密钥文件,设置到git上

  • 【1】输入命令生成密钥文件。
    • 项目注意输入命令后敲一下回车,密钥文件名字区分开,注意路径不要写错
    • 生成密钥后,直接在当前用户再生成了另一个密钥文件就行了
    • 不用设置密码直接回车
ssh-keygen -t rsa
回车
/c/Users/halo/.ssh/id_rsa85
回车、回车
  • 【2】将密钥中的内容粘在git的setting中的ssh配置页面
    • 密钥位置:C:\Windows\System32\drivers\etc\id_rsa.pub

3、设置hosts文件让hostname生效

  • hosts文件位置:C:\Windows\System32\drivers\etc
#ip hostname
111.111.111.111  git.gitedit.com
192.168.100.85  cpppppv.com.cn

4、设置配置文件config

由于设置多个连接,无法识别哪个密钥,自动识别默认密钥文件,会导致没有权限访问

  • 在.ssh目录下新建config文件,让hostname(你所连接的ssh地址)址与对应的密钥匹配
  • 看你gitlab上项目的SSH地址@ 与:中间部分为你git的识别name
    例如:git@git.gitedit.com:zzz/zzz_web.git的为git.gitedit.com
#自己打的备注名字
#你连接不同git库时的名
#hosts文件里的hostname
#用来区分名字就行(随便写)
#密钥文件路径和名字

#putongCompany85
Host cpppppv.com.cn
  HostName cpppppv.com.cn
  User putongCompany85
  IdentityFile ~/.ssh/id_rsa85
  
#putongCompany49
Host git.gitedit.com
  HostName git.gitedit.com
  User putongCompany49
  IdentityFile ~/.ssh/id_rsa49

5、验证是否成功

  • 看你gitlab上项目的SSH地址中@ 与:中间部分为你git的识别name
  • 例如:git@git.gitedit.com:zzz/zzz_web.git的为git.gitedit.com
  • 输入命令,显示welcome xxx!你就成功了老弟!
ssh -T git@git.gitlab.com

常用命令

下载代码git clone

git clone xxx(ssh或者http地址都可)

切换分支

git checkout xxx(分支名称)

解决代码冲突

git stash(压栈)
git pull
git stash pop(弹栈)

引入git到当前路径

  • 设置非全局用户时会用到
git init

识别新密钥

ssh-agent bash

常见问题

报错:ssl certificate problem self signed certificate

  • 利用git命令行全局设置ssl验证为false
git config --global http.sslVerify false

报错:ssh: Could not resolve hostname xxx: Name or service not known fatal: Could not read from remote repository.

  • 更改hosts文件设置该hostname对应的ip
#C:\Windows\System32\drivers\etc
#ip hostname
111.111.111.111  git.gitedit.com
192.168.100.85  cpppppv.com.cn

报错:Permission denied (publickey,gssapi-keyex,gssapi-with-mic).

因为设置多个连接,无法识别哪个密钥,自动识别默认密钥文件,没有权限访问

  • 在.ssh目录下新建config文件,让hostname(你所连接的ssh地址)址与对应的密钥匹配
#自己打的备注名字
#你连接不同git库时的名
#hosts文件里的hostname
#用来区分名字就行(随便写)
#密钥文件路径和名字

#putongCompany85
Host cpppppv.com.cn
  HostName cpppppv.com.cn
  User putongCompany85
  IdentityFile ~/.ssh/id_rsa85

#putongCompany49
Host git.gitedit.com
  HostName git.gitedit.com
  User putongCompany49
  IdentityFile ~/.ssh/id_rsa49
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值