最近看到很多人在配置Git时,遇到很问题,网上教程千篇一律。这儿自己单独记录一份。

Git配置SSH Key

1.检查本机是否有ssh key设置,切换到.ssh目录
  $ cd ~/.ssh 或cd .ssh

2.配置git用户名和邮箱,配置多个用户时添加 --add 参数
  $ git config --global --add user.name "username"
  $ git config --global --add user.email "email"

  $ git config --global --unset user.name "username"            #移除用户
  $ git config --global --unset user.email "email"               #移除邮箱

3.查看用户名和邮箱
  $ git config --list

(如果没有安装TortoiseGit则跳过)因为TortoiseGit和Git的冲突需要把TortoiseGit设置改正如下:
  1.在右键选择 TortoiseGit  ->  Settings  ->  Network  
  2.将SSH client指向  ~Git\usr\bin\ssh.exe  (Git安装路径下的\usr\bin\ssh.exe)

4.生成成对的私钥公钥
  $ ssh-keygen -t rsa -C "test@qq.com"
  注:生成id_rsa私钥公钥时需要命不同文件名,密码可设可不设。

5.添加ssh key到对应的GitHub或GitLab上面
  登录GitHub系统;点击右上角账号头像的“▼”→Settings→SSH kyes→Add SSH key。
  复制id_rsa.pub的公钥内容到Key填写框内。

6.测试公钥配置是否成功
  $ssh -T git@github.com  

  FQA
1.Git克隆代码需要输入密码?Git提交代码需要输入账号、密码的。
  tips:      1.Access denied.
          2.Authentication failed.
          3.Permission denied (publickey).
  说明:问题根源是TortoiseGit采用的是自己的ssh.exe生成密钥,与git的密钥生成方式不一致,导致密钥无效。
  解决:  1.重新配置用户名和邮箱,重新生成密钥,把密钥放入远程仓库中。
       2.检查TortoiseGit右键的TortoiseGit -> Settings -> Network设置,
        将SSH client指向 ~Git\usr\bin\ssh.exe

2.Git采用 http 方式(而不是ssh)clone/pull/push代码时,需要输入用户名密码,解决每次输入账号密码

  解决:执行存储密码命令
    $git config --global credential.helper store
  命令会在项目本地生成一个文本,记录账号和密码。使用上述的命令配置好之后,再操作一次git pull,然后它会提示输入账号和密码,这一次之后就不需要再次输入账号和密码了。

常用命令
$git clone url                     #克隆远程仓库
$git --version                    #查看git的版本信息
$git branch                     #查看本地所有分支
$git branch -a                   #查看所有的分支
$git branch -r                    #查看远程所有分支
$git branch dev                 #创建分支
$git branch -D master develop           #删除本地库develop

$git checkout dev                   #切换到本地dev分支
$git checkout -b dev               #创建分支并切换分支
$git checkout --track origin/dev           #切换到远程dev分支

$git commit                   #提交
$git commit -am "test"                #提交并且加注释
$git commit -m [message]               #提交暂存区到仓库区
$git commit -v                     #提交时显示所有diff信息

$git status                      #查看当前状态
$git remote show                 #查看远程库
$git remote add origin url              #添加远程库
$git remote show origin                 #显示远程库origin里的资源

$git pull                     #本地与服务器端同步
$git push origin master               #将文件给推到服务器上
$git push origin master:develop            #将本地库develop与服务器上的库进行关联
$git push origin master:my-dev             #将本地库与服务器上的库进行关联

$git merge origin/dev               #将分支dev与当前分支进行合并
$git add read.txt                  #将文件加入git
$git rm read.txt                   #从git中删除指定文件

更多命令参考:https://www.cnblogs.com/zengming/p/7733099.html

备注:
作者:Shengming Zeng
博客:http://www.cnblogs.com/zengming/

本文是原创,欢迎大家转载;但转载时必须注明文章来源,且在文章开头明显处给明链接。
<欢迎有不同想法或见解的同学一起探讨,共同进步>

Git配置SSH Key的更多相关文章

  1. git配置SSH Key,上传本地代码至github

    git配置全局的name和email git config --global user.name "name" git config --global user.email &qu ...

  2. git配置ssh key并从github.com拉取repos

    一.配置ssh key 1. 进入当前用户目录cd ~2. 生成ssh keyssh-keygen -t rsa -C "ABC@qq.com"ABC@qq.com账号必须是你登录 ...

  3. git 配置 .ssh key

    1.安装git软件: 2.打开本地git bash,使用如下命令生成ssh公钥和私钥对: ssh-keygen -t rsa -C 'xxx@xxx.com'    然后一路回车(-C 参数是你的邮箱 ...

  4. git 配置ssh key

    第一次生成 ssh key 进入ssh目录  cd ~/.ssh,再输入:ls ,查看文件,如果有.pub的文件,说明已有ssh key 如果没有, 则生成秘钥:ssh-keygen -t rsa - ...

  5. 个人在git配置SSH Key遇到的问题以及解决方案

    第一次用git上传代码到github,在这过程中遇到很多问题,在输入git命令的时候都小心翼翼,因为一不小心感觉就会出错.. 英语不好..在敲入git命令过程中各种错误提示勉强翻译下才看得懂 最后输入 ...

  6. Git 配置ssh key的步骤

    First start by setting up your own public/private key pair set. This can use either DSA or RSA, so b ...

  7. git for windows配置SSH key

    0. 前言 之前用过一段时间的git,后来迁移系统导致电脑中的git bash消失了,由于在上家公司版本管理用的svn,所以一直没有重新配置,目前工作中版本管理用的gitLab,后期计划将工作之外的精 ...

  8. 一台电脑上配置多个git的ssh key

    前几天公司的代码库全部迁移到了阿里云上,在配置git的ssh key的时候遇到了一个问题,那就是自己的密钥在添加时提示已经存在,原来是自己的个人账号上已经添加过这个密钥了,公司分配的账号就不能再添加这 ...

  9. 解决GitHub未配置SSH key提示错误信息

    git push -u origin master Permission denied (publickey). fatal: Could not read from remote repositor ...

随机推荐

  1. 实现在同一界面打开putty终端连接工具

    用过putty的人可能知道,每打开一次啊putty程序只能开启一个连接,这个在实际运用中很不方便,反正我开ssh一般都是同时开四个窗口 其实有一个程序可以实现打开多个putty,下面是下载地址 htt ...

  2. dup等复制文件描述符函数

    [root@bogon code]# cat b.c #include<stdio.h> #include<error.h> #include<unistd.h> ...

  3. Linux内核启动分析笔记

    一.驱动加载 1.驱动加载调用关系 start_kernel //init/main.c rest_init //最后执行它 kernel_init //使用kernel_thread创建一个进程执行 ...

  4. MySQL Partition--分区基础

    ================================================================================= Mysql在5.1版本时增加对分区表 ...

  5. classLoader卸载与jvm热部署

    以下的相关介绍都是在未使用dcevm的情况 classLoader的卸载机制 jvm中没有提供class及classloader的unload方法.那热部署及osgi中是通过什么机制来实现的呢?实现思 ...

  6. lua-resty-qless-web UI 界面运行

    lua-resty-qless-web 是 lua-resty-qless 的web 管理界面以及lua-resty-template 模版引擎开发的,里面实现了一个简单的 路由功能 备注: demo ...

  7. postman测试REST接口注意事项

    postman在测试第三方REST接口,当POST请求内容要求为application/json时,注意要在postman中设置POST请求体类型设置为raw,然后设置其内容为application/ ...

  8. c++获取键盘输入cin、scanf使用详解

    cin是c++标准,scanf是在c中使用的 #include<cstdio> #include<iostream> #include<cstring> using ...

  9. Python画图代码

    X1D=np.linspace(-4, 4, 9).reshape(-1,1) X2D=np.c_[X1D, X1D**2] y = np.array([0, 0, 1, 1, 1, 1, 1, 0, ...

  10. JMeter 插件 Json Path 解析 HTTP 响应 JSON 数据(转)

    JMeter 是一个不错的负载和性能测试工具,我们也用来做 HTTP API 接口测试.我们的 API 返回结果为 JSON 数据格式.JSON 简介,JSON 教程. JSON 已经成为数据交换格式 ...