连接方式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 merge --squash

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

  2. win10下Git和Tortoise安装并使用VS15保存到码云

    Git可以记录文件的所有历史变化,也可以随时随地的回复我们任何的一个历史版本,防止因为意外导致的一些数据丢失. 一.首先下载: (1)先装:https://git-scm.com/ (2)再装:htt ...

  3. 今天同大家聊一下Git扩展

    CVS作为最早的开源而且免费的集中式版本控制系统,直到现在还有不少人在用.由于CVS自身设计的问题,会造成提交文件不完整,版本库莫名其妙损坏的情况.同样是开源而且免费的SVN修正了CVS的一些稳定性问 ...

  4. 远程删掉服务器的文件能找回吗,远程删除Windows服务器指定目录下N天前文件方法...

    在使用Windows服务器的时候,每天都会增加大量的文件以及日志文件,日积月累的话就会占用过多的服务器空间,所以做到定期清理删除就显得格外重要. 在Windows服务器中有一个功能很方便,就是可以通过 ...

  5. ubuntu下git搭建服务器(gitosis)

    ubuntu下git搭建服务器(gitosis) - 简书 var _hmt = _hmt || []; (function() { var hm = document.createElement(& ...

  6. Ubuntu系统下Git版本控制使用教程|1-6

    文章目录 使用git对代码进行版本控制 git的三个工作区和工作流程 git的本地基本操作 如何安装git 如何配置git 使用git对本地代码进行版本控制 使用git同时管理本地和远程代码 git高 ...

  7. linux下git客户端使用手册,linux下git客户端命令总结.docx

    linux下git客户端命令总结 如果不特殊说明,'$'表示在linux终端命令行下执行一. 安装gitlinux Fedora系列安装命令:$ sudo yum install gitlinux D ...

  8. linux下git的简单使用

    参考https://www.bootcss.com/p/git-guide/ 安装git sudo apt install git 使用git(已在github上创建好仓库) 配置用户名和用户邮箱,查 ...

  9. Windows下Git库的创建

    图形化 打开Git GUI 选择"创建新的版本库": 选择要创建的目录,单击"新建"后,即可完成对Git库的创建,创建完成后会出现如下界面: 并在Git仓库目录 ...

最新文章

  1. 手机吸费软件肆意捞金,通过代码签名证书加以防范
  2. is NULL , is NOT NULL 有时索引失效 || in 走索引, not in 索引失效 ||单列索引和复合索引 || 查看索引使用情况
  3. 浅析ASP.NET的Page.IsPostBack 属性
  4. android iOS 都精通,Android IOS开发要理解何为面向对象的思维
  5. pptx模块的安装与基本使用
  6. python网络编程是什么意思_python网络编程(一)
  7. 能测试经纬度的软件,经纬度转换工具(适用多种测试软件)
  8. 【U8】用友U8一张A4纸打印一张凭证设置
  9. 加密word文档脱壳教程
  10. CMOS图像传感器内部结构及工作原理
  11. Gl计算机语言,计算机编程和编程语言 - osc_bkg5rgl1的个人空间 - OSCHINA - 中文开源技术交流社区...
  12. 滑动验证码整合SpringBoot方案推荐
  13. 谷歌浏览器提示adobeflashplayer已过期
  14. ps4移植android游戏,把PS4游戏《Apex英雄》《只狼》搬到安卓手机上玩,这招够简单!...
  15. python定义一个student类、有下面的_Python的类和方法——成员可见性
  16. echarts修改数据视图格式
  17. 如果诸葛亮用C#写出师表...
  18. 中了鬼影病毒的处理办法
  19. Win10系统下禁止ie浏览器自动跳转到Microsoft Edge浏览器
  20. 保持之前的ScrollBar位置

热门文章

  1. 全球四大农业贸易数字化-丰收节贸易会:谋定粮食区块链
  2. ETL工具Kettle使用
  3. 【Django】用pycharm初学习使用Django
  4. iOS - Swift NSSize 尺寸
  5. [转]c++ new带括号和不带括号
  6. Linux进程实践(4) --wait避免僵尸进程
  7. 基于DSP技术的多路语音实时采集与压缩处理系统
  8. 元气森林唐彬森:十万块就能爆发团队创造力
  9. 海淘会不会成为电商的下一片蓝海?
  10. WPF入门教程系列三——Application介绍(续)