git过关: https://learngitbranching.js.org/

SSH基本用法

SSH服务详解

work with git branch

some tips for git setup and git config

git and github

ssh service

简化SSH连接服务器流程

Git中文手册

Git与Github的用户名与邮箱

Q:为什么配置好git的用户名邮箱后,push的时候依然需要输入用户名密码或预先配置SSH key?

A:配置的git用户名和邮箱是区分commit时不同的用户;输入的用户名密码或SSH key是区分是否有push权限。(多人共用一台电脑要区分不同用户的commit,或者分布式下多人commit到公司服务器;然后再从公司服务器push到github上。)

.github注册时,需要设置github-username、github-email、github-password ;
.github注册后,可以另外设置自己的name(昵称)和email,只是用于对外展示(和注册时的github-username(用户名)、github-email没有关系)
.本地的git需要设置用户名和邮箱,其本质是本地git客户端的一个变量,不随git库改变,但也可以为某个库单独设置用户名和邮箱,github或码云等都是根据git客户端的用户名和邮箱来进行contributions统计的,每次commit的记录也是使用git客户端的用户名和邮箱,所以当客户端邮箱、用户名和github邮箱、用户名不一致时,会导致github无法统计contributions,这是由于客户端的用户名、邮箱并不对应真实的github账号,所以无法统计。 结论:尽量将git客户端的用户名、邮箱和github账号的用户名、邮箱设置为完全一致; /*********************************\
\*********************************/ 相关命令 查看当前库的用户名和邮箱命令:
git config user.name
git config user.email 设置当前库的用户名和邮箱
git config user.name "xxxxx"
git config user.email "xx@qq.com" 设置全局的用户名和邮箱
git config --global user.name "xxxxx"
git config --global user.email "xx@qq.com"

Git操作步骤

1. 配置用户名和邮箱

2. ssh-keygen

(

~/.ssh目录下生成以下文件

id_rsa // 私钥文件

id_rsa.pub // 公钥文件,免密登陆就是将该公钥追加到服务器的authorized_keys文件中

authorized_keys // 作服务端用时,存放客户端公钥的文件

know_hosts // 作客户端用时,存放确认过公钥指纹的可信服务器列表的文件

config // 指定不同域名使用哪个密钥的配置文件

)

3. git clone REMOTEURL(https/ssh) foo

(

# mkdir foo
# cd foo
# git init
# git remote add origin REMOTEURL
# git pull origin master

URL有多种格式,在push的时候,https需要提交用户名和密码,ssh在有ssh key的时候不用提交用户名和密码

)

4. git pull/add(remove)/commit/push...

远程操作参考连接

http://www.cnblogs.com/tugenhua0707/p/4050072.html

SSH & Git的更多相关文章

  1. ssh git设置命令行

    #列出key ls -al ~/.ssh #生成key ssh-keygen -t rsa -b -C "your_email@example.com" #判断ssh-agent可 ...

  2. SUSE12Sp3安装配置.net core 生产环境(1)-IP,DNS,网关,SSH,GIT

    1.新增用户 sudo useradd 用户名 sudo passwd 用户名 这个时候会提示你输入密码,输入两次密码即可 2.静态 IP 设置 1.设置 IP 地址 sudo vi /etc/sys ...

  3. ssh git免密码提交代码

    使用ssh协议通过密钥验证的方式提交代码,不用再每次提交时输入账户密码. 1.打开bash 输入一下命令, ssh-keygen -t rsa -C youremail@example.com(把邮件 ...

  4. git解决修改代码后无法push的问题failed to push some refs to 'ssh://git@xxx.xxx.xx/xx.git'

    今天在使用git提交代码的时候,犯了个很低级的错误,按照一切流程当我add并commit提交代码,最后使用push到远程仓库, 接下来奇怪的事情发生了,push之后,查看远程仓库代码并没有发现提交记录 ...

  5. centos7.0 下安装git(ssh方式)

    最近刚弄了个阿里云,在上面弄个git服务器,这里只弄了ssh方式访问,http方式访问的可以看我另外一个随笔http://www.cnblogs.com/hz-cww/p/6077970.html. ...

  6. Git生成ssh ksy后进行项目管理

    1.首先你要有一个git账号,然后在网站上Create a New Repository,填好名称后就建立了一个仓库,之后即会出现一些仓库的配置信息... 2.然后你要下载一个git客户端,也可以是m ...

  7. 搭建通过 ssh 访问的 Git 服务器

    一.Git 协议 Git 可以使用四种主要的协议来传输数据:本地传输,ssh 协议,Git 协议和 HTTP 协议. Git 使用的传输协议中最常见的就是 ssh 了.大多数环境已经支持通过 ssh ...

  8. git ssh端口号变更之后所需要的修改

    假设原本的repository地址为:git@gitlab.cjx.com:jinxin/project2.git 端口变更之后,需要调整为:ssh://git@gitlab.cjx.com:PORT ...

  9. 向 Git 服务器添加 SSH 公钥

    . . . . . 在网上很少找到文章有提到如何将自己的 Git 远程仓库配置成可以通过 SSH 公钥方式认证的,而几乎清一色都是告诉你怎么通过 web 界面向 GitHub 添加 SSH 公钥.LZ ...

随机推荐

  1. Oracle 解决【ORA-01704:字符串文字太长】

    错误提示:oracle在toad中执行一段sql语句时,出现错误‘ORA-01704:字符串文字太长’.如下图: 原因:一般为包含有对CLOB字段的数据操作.如果CLOB字段的内容非常大的时候,会导致 ...

  2. 20155301 Web基础

    20155301 Web基础 1.基础问题回答 (1)什么是表单 答: 表单是一个包含表单元素的区域. 表单元素是允许用户在表单中(比如:文本域.下拉列表.单选框.复选框等等)输入信息的元素 (2)浏 ...

  3. Gitlab+Jenkins学习之路(十四)之自动化脚本部署实践

    目录 一.环境说明和准备 1.环境说明 2.服务器准备工作 二.发布脚本编写 1.自动化部署流程设计 2.自动化部署脚本编写 三.发布测试 1.开发机和github添加ssh信任 2.克隆项目到开发机 ...

  4. 设计模式 笔记 外观模式 Facade

    //---------------------------15/04/16---------------------------- //Facade 外观模式-----对象结构型模式 /* 1:意图: ...

  5. Sterling B2B Integrator与SAP交互 - 01 简介

    公司近期实施上线了SAP系统,由于在和客户的数据交互中采用了较多的EDI数据交换,且多数客户所采用的EDI数据并不太相同(CSV,XML,X12,WebService),所以在EDI架构上选择了IBM ...

  6. 条件GAN论文简单解读

        条件GAN(Conditional Generative Adversarial Nets),原文地址为CGAN. Abstract     生成对抗网络(GAN)是最近提出的训练生成模型(g ...

  7. 为什么说LAXCUS颠覆了我的大数据使用体验

    切入正题前,先做个自我介绍. 本人是从业三年的大数据小码农一枚,在帝都一家有点名气的广告公司工作,同时兼着大数据管理员的职责. 平时主要的工作是配合业务部门,做各种广告大数据计算分析工作,然后制成各种 ...

  8. thinkphp3.2 批量添加数据

    这是我遇到的thinkphp3.2 当中最让我无语的坑 批量添加数据有个方法是 addAll() 这个方法一定要注意数组的键名,一定要整齐!!! 可以在存入数据前,用ksort()方法将数组的键名排序 ...

  9. process.tar.gz

    exec1.c #include <stdio.h> #include <unistd.h> int main() { char *arglist[3]; arglist[0] ...

  10. # linux读书笔记(3章)

    linux读书笔记(3章) 标签(空格分隔): 20135328陈都 第三章 进程管理 3.1 进程 进程就是处于执行期的程序(目标码存放在某种存储介质上).但进程并不仅仅局限于一段可执行程序代码( ...