连接方式https、ssh

在使用git的时候,不管你的服务器是开源平台github还是私服gitlab,你都需要clone仓库到本地,这个clone的时候就需要你选择连接方式。这个连接方式决定了你与服务器交互的时候以一个什么协议进行。如果你没搞清楚这两种方式,可能你在使用的时候会很困惑,别人在push代码的时候没有提示输入账号密码,而你却有,至少我当初有过这个问题。

可选择的协议有https、ssh两种,这从git repository仓库的地址就能分辨出来。

这是我6年前的开源项目,套打组件。拿这个做例子,红色范围内的地址就是ssh的连接地址。你可以通过”Use HTTPS”切换使用https连接地址。

这是两种方式连接git服务器。在clone的时候地址就决定了你的交互协议。这两种方式与git服务器交互的区别体现在你每次push代码的时候。https协议在你每次push的时候都要求你输入git账号密码,这种方式一般多用于那些你很少push代码的场景。ssh是用于那些工程开发,你需要频繁push代码的场景。

https的账号就是你的git服务器给你分配的,每次push的时候会有一个文本框提示你输入。

ssh的使用需要你的仓库管理员为你设置一个公钥,这样你每次push代码的时候git服务器才知道你是谁。这是采用RSA(公钥加密算法)也称非对称加密算法,RSA产生一对密钥(公钥和私钥),你只需要将你的公钥提交到git服务器上即可。当你每次push代码的时候就会使用这对密钥来加解密且验证身份。

你可能会问,为什么我不是把私钥设置到服务器中而是公钥,如果你真的这么想了,也不奇怪。但是你再进一步想,RSA的算法执行顺序就知道了。加密和解密的逻辑是不同的,你提供反了密钥是执行不了的。

git客户端生成ssh密钥对网上有很多文章,这里就不重复了,主要使用ssh-keygen命令。生成好了之后在你的.ssh目录下会有一对密钥文件。

复制.pub文本文件中的公钥,到你的github服务器上设置,在settings/profile下。

添加一个新的sshkey。每一个sshkey的使用都有时间记录。如果没有被使用过,ssh的绿色钥匙是灰色的。这样你就完成了git连接远程仓库,且可以随时push代码了。开始你的git之旅吧。

git user.name、user.email、commit log 中的账号泄露问题

在使用git进行一系列开发之前,你需要设置下当前git客户端所代表用户是谁。这样你在commit代码的时候,commitlog中会显示Author是谁,邮箱是谁。

Author: plen-wang <wangqingpei557@163.com>

那么怎么设置用户名、邮箱尼。你可能使用git config global user.name、git config global user.email来设置全局的账号和邮箱。

这么做没错,但是这么做有一个问题,就是当你切换不同的git repository的时候你的commitlog就有问题了。因为你设置的是全局用户名和邮箱,想想看如果你在公司使用的是gitlab,然后的你的用户名和邮箱是公司内部的,突然你切换到外部的github的仓库上,进行代码开发和commit,想想看你的commitlog里会出现什么情况。

在git客户端里有两种用户名和邮箱,一个是全局,也是默认的。一个是仓库级别的。所以当你使用global作为你平时的默认设置时没关系。但是一旦clone一个新的仓库的时候记得设置当前仓库级别的用户名、邮箱。

查看全局用户名、邮箱,git config --global user.name,git config --global user.email
查看当前仓库的用户名、邮箱,git config user.name,git config user.email

设置全局用户名、邮箱,git config --global user.name “plen-wang”,git config –global user.email “plen-wang@163.com”

设置当前仓库的用户名、邮箱,git config user.name “plen-wang-xxx”,git config user.email “plen-wang-xxx@163.com”

你可以通过git config --list 来查看所有的配置

这里面会出现两组user.name、user.email 的设置。最上面的北色框里的都是全局配置,下面的白色框里的是当前仓库的配置。你可以通过查看remote.origin.url来识别。

作者:王清培

出处:http://www.cnblogs.com/wangiqngpei557/

本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面

聊下 git 使用前的一些注意事项的更多相关文章

  1. 聊下 git 多账户问题

    git 多账户问题 标签(空格分隔):git github gitlab git多账户 背景 git 多账号配置 ssh 多密钥对配置 背景 在使用 git 的时候我们都会面临多账户问题,比较常见的就 ...

  2. 聊下git pull --rebase

    有一种场景是经常发生的. 大家都基于develop拉出分支进行并行开发,这里的分支可能是多到数十个.然后彼此在进行自己的逻辑编写,时间可能需要几天或者几周.在这期间你可能需要时不时的需要pull下远程 ...

  3. 聊下 git rebase -i

    在使用git作为源代码管理工具的时候,开发的时经常会面临一个常见的问题,多个commit 需要合并为一个完整的commit提交. 在一个基本的迭代周期里,你会有很多次commit,有跟配置文件相关的, ...

  4. 聊下 git remote prune origin

    在你经常使用的命令当中有一个git branch –a 用来查看所有的分支,包括本地和远程的.但是时间长了你会发现有些分支在远程其实早就被删除了,但是在你本地依然可以看见这些被删除的分支. 你可以通过 ...

  5. 聊下git merge --squash

    你经常会面临着将dev分支或者很多零散的分支merge到一个公共release分支里. 但是有一种情况是需要你处理的,就是在你的dev的分支里有很多commit记录.而这些commit是无需在rele ...

  6. 安全防范:nginx下git引发的隐私泄露问题

    安全防范:nginx下git引发的隐私泄露问题 1   安全事件 最近阿里云服务器后台管理系统中收到一条安全提示消息,系统配置信息泄露: http://my.domain.com/.git/confi ...

  7. ubuntu下git安装及使用

    ubuntu下git安装及使用   其实,好几个月前,就已经安装好了,可是一直搁置在那儿,所以密码等一些其它细节都忘的差不多了,所以今天就重新部署了一下,并开始积极使用......... 1,git ...

  8. Windows下Git安装指南

    参考<Git权威指南>安装整理,图书配套网址参见[1] 1. Cygwin下安装配置Git 1. 在Windows下安装配置Git有2种不同的方案 (1)msysGit, (2)Cygwi ...

  9. linux下git的安装和使用(转)

    转自:http://www.cnblogs.com/sunada2005/archive/2013/06/06/3121098.html 最近在使用github,感觉不错.在windows下,可使用g ...

随机推荐

  1. 利用GeoWebCache实现WebGIS地形图展示的缓存优化

    文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/. 1.前言 在WebGIS中,影像金字塔是一个很重要的概念.在WebGI ...

  2. Node.js、Express、Socket.io 入门

    前言 周末断断续续的写了第一个socket.io Demo.初次接触socket.io是从其官网看到的,看着get started做了一遍,根据官网的Demo能提供简单的服务端和客户端通讯. 这个De ...

  3. CompoundButton.OnCheckedChangeListener与RadioGroup.OnCheckedChangeListener冲突

    当RadioGroup与CompoundButton同时存在且都要监听事件时CompoundButton.OnCheckedChangeListener与RadioGroup.OnCheckedCha ...

  4. 4.羽翼sqlmap学习笔记之Post登录框注入

    4.Sqlmap系列教程——post登录框注入注入点: http://xxx.xxx.com/Login.asp 注入方式一: 1.对着注入点使用burp抓包,保存txt格式文件. 2.输入命令: . ...

  5. 12.Struts2自定义拦截器

    12.自定义拦截器        拦截器是Struts2的一个重要特性.因为Struts2的大多数核心功能都是通过拦截器实现的. 拦截器之所以称之为“拦截器”,是因为它可以拦截Action方法的执行, ...

  6. PHP获取网站图标(favicon.ico)文件

    有的网站源码中加入了这几行代码: <link rel="shortcut icon" href="/favicon.ico" type="ima ...

  7. C# DataGrid根据某列的内容设置行字体加粗 单元格设置对齐方式

    最近做了个功能,DataGrid显示具体内容的时候,根据某列分组. 每个分组具体内容后边,增加一行显示合计信息. 查询数据时,使用了union all将分组数据与明细数据合并起来,使用了排序达到了预期 ...

  8. 多条asp.net网站的优化建议

    一.返回多个数据集 检查你的访问数据库的代码,看是否存在着要返回多次的请求.每次往返降低了你的应用程序的每秒能够响应请求的次数.通过在单个数据库请求中返回多个结果集,可以减少与数据库通信的时间,使你的 ...

  9. 渡轮问题Ship

    题目描述 Palmia河从东往西流过Palmia国,把整个国家分成南北两半.河的两岸各有N个城市,北岸的每一个城市都与南岸的一个城市互为友好城市,而且任意两个北岸城市的友好城市都不相同.每一对友好城市 ...

  10. iPhone开发与cocos2d 经验谈

    转CSDN jilongliang : 首先,对于一个完全没有mac开发经验,甚至从没摸过苹果系统的开发人员来说,首先就是要熟悉apple的那一套开发框架(含开发环境IDE.开发框架uikit,还有开 ...