作者:良知犹存

转载授权以及围观:欢迎添加微信:Allen-Iverson-me-LYN

总述

    GIT是当今热门代码管理技术,但是如此火的系统,竟然是大神林纳斯花了两周用C写出来的一个分布式版本控制系统。github就是依托git技术发展的当今世界最大的代码管理平台。

这么好用的git教程也是很多,但是我因为在工作中遇到需要在一台电脑上实现公司git服务器和自己私人的远程仓库两个账户的推送,看了好多篇文章,终于设置成功,觉得有些操作需要特别注意,遂写这篇文章提示大家,希望可以帮助到大家,从安装到使用一气呵成。

继上一篇文章继续分享GIT的使用,git从安装到多账户操作一套搞定(一)入门使用

四、GIT多账号配置

ssh 方式链接到 Github/GitLab,需要唯一的公钥,如果想同一台电脑绑定两个Github/GitLab 帐号,需要两个条件:

  • 能够生成两对 私钥/公钥

  • push 时,可以区分两个账户,推送到相应的仓库

解决方案:

1.    生成 私钥/公钥 时,密钥文件命名避免重复

2.    设置不同 Host 对应同一 HostName 但密钥不同

3.    取消 git 全局用户名/邮箱设置,为每个仓库独立设置 用户名/邮箱

上一篇文章描述了一个账号从生成rsa密钥到推送到github仓库的示例,按照上篇文章git从安装到多账户操作一套搞定(一)入门使用我们继续生成第二把密钥,只不过这把密钥需要特别的配置一下。

1>查看已有 密钥

下输入命令 ls ~/.ssh/,看到 id_rsa 与 id_rsa_pub 则说明已经有一对密钥。如下图

2>生成新的公钥,并命名为 id_rsa_2 (保证与之前密钥文件名称不同即可,文件名最好有意义,否则写后面的配置的时候写错文件名,我的文件名是id_rsa_ljy)

ssh-keygen -t rsa -f ~/.ssh/id_rsa_2 -C "yourmail@xxx.com"

3>在 .ssh 文件夹下新建 config 文件并编辑,令不同 Host 实际映射到同一HostName,但密钥文件不同。Host 前缀可自定义:

# default                                                                      Host 192.168.1.xx(自行按照IP配置)HostName 192.168.1.xx(自行按照IP配置)User gitIdentityFile ~/.ssh/id_rsa_2# two                                                                          Hostieit.github.comHostName github.comUser gitIdentityFile~/.ssh/id_rsa

参考文章:

https://blog.csdn.net/jifaliwo123/article/details/79126785

注意点

  • 在配置文件中的,IdentityFile文件位置是rsa密钥,不是pub文件

  • 提交代码的时候,需要修改git config 可以之设置一个全局的user.email和user.name,然后需要不同的配置的仓库,单独设置

上一篇设置了--global user.name  --global user.email

这次多账户使用需要设置,单独的文件夹下面的邮箱与名称,保证我们使用该文件夹下文件进行git操作的使用,对应的账户名和邮箱属于除去主账号之外的账号。

//设置仓库的user.email和user.name

gitconfig  user.email"yeungeek@gmail.com"

gitconfig  user.name "yeungeek"

开始在github 或者私有服务器设置公钥 这部分上一篇也都描述很详细。下面就用新的账户进行另一种方法的git上传。

这里我还是在github的截图,因为公司使用的保密性,所以我不进行展示,我只是表示用上面方法我成功进行了一台pc两个账户使用。

五、GIT多账号使用

第二种方法 通过本地建立仓库直接远程上传

echo "# Simple-red-black-tree" >> README.md

git init

git add README.md

git commit -m "first commit"

git remote add origingit@github.com:conscience-still/Simple-red-black-tree.git

git push -u origin master

新建一个README.md

$ git add . //添加到暂存仓库

$ git commit -m "simple red-black tree" //添加上传注释

再次设置本文件夹下的用户名和邮箱

在Github上创建好Git仓库之后我们就可以和本地仓库进行关联了,根据创建好的Git仓库页面的提示,可以在本地Simple-red-black-tree仓库的命令行输

$ git remote add origin git@github.com:conscience-still/Simple-red-black-tree.git

关联好之后我们就可以把本地库的所有内容推送到远程仓库(也就是Github)上了,通过:

$ git push -u origin master

由于新建的远程仓库是空的,所以要加上-u这个参数,等远程仓库里面有了内容之后,下次再从本地库上传内容的时候只需下面这样就可以了:

$ git push origin master

至此就完成了将本地项目上传到Github的整个过程。

      另外,这里有个坑需要注意一下,就是在上面第七步创建远程仓库的时候,如果你勾选了Initializethis repository with a README(就是创建仓库的时候自动给你创建一个README文件),那么到了第九步你将本地仓库内容推送到远程仓库的时候就会报一个failedto push some refs to https://github.com/guyibang/TEST2.git的错。

这是由于你新创建的那个仓库里面的README文件不在本地仓库目录中,这时我们可以通过以下命令先将内容合并如下:

$ git pull --rebase origin master

这时你再push就能成功了。

参考文章:

https://blog.csdn.net/Lucky_LXG/article/details/77849212

这就是我分享的git的基本操作,里面过程都是实践过的,很多地方都是边学边做,感谢很多博主的文章,好多也没有直接交流, 只是在这里表达一些感谢。如果大家有什么更好的思路,欢迎分享交流哈。

更多分享,扫码关注我

git从安装到多账户操作一套搞定(二)多账户使用的更多相关文章

  1. git从安装到多账户操作一套搞定(一)入门使用

    作者:良知犹存 转载授权以及围观:欢迎添加微信:Allen-Iverson-me-LYN 总述     GIT是当今热门代码管理技术,但是如此火的系统,竟然是大神林纳斯花了两周用C写出来的一个分布式版 ...

  2. 在mac上安装gradle(超详细,直接按步骤操作即可轻松搞定)

    第一步, 就是先download最新版本的gradle,网址如下: http://gradle.org/gradle-download/ 然后将下载下来的zip包放解压到本地任意的路径上, 例如,我本 ...

  3. CentOS安装Yarn只需两步就搞定

    Yarn 是一个依赖管理工具.它能够管理你的代码,并与全世界的开发者分享代码.Yarn 是高效.安全和可靠的,你完全可以安心使用.代码是通过包(有时也被称为组件). 在每一个包中会定义一个 packa ...

  4. Shell 脚本之 MySQL 一键安装及基本配置(几分钟搞定)

    准备工作 MySQL 该版本下载地址: https://downloads.mysql.com/archives/get/p/23/file/mysql-5.7.30-linux-glibc2.12- ...

  5. Git配置安装使用教程操作github上传克隆数据

    Git是何方神圣? Git是用C语言开发的分布版本控制系统.版本控制系统可以保留一个文件集合的历史记录,并能回滚文件集合到另一个状态(历史记录状态).另一个状态可以是不同的文件,也可以是不同的文件内容 ...

  6. Git的安装及常用操作

    一.Git的安装 1.下载Git,官网地址为:https://git-scm.com/downloads.     2.下载完成之后,双击目录进行安装 3.选择安装目录 4.选择组件,默认即可 5.设 ...

  7. Git 基础 —— 安装 配置 别名 对象

    Git 基础学习系列 Git 基础 -- 安装 配置 别名 对象 Git 基础 -- 常用命令 Git 基础 -- 常见使用场景 Git基础 -- Github 的使用 Git 安装 Git下载地址 ...

  8. windows 系统下git 的安装

    在linux系统下,可以直接在命令窗口安装和使用git.但是,在windows系统下,想要达到同样的效果,可以安装git,使用git bash到达效果.具体安装步骤如下: 第一步:官网上下载git 网 ...

  9. git的安装和简单使用

    目前windows版本的git有几种实现,但我们选择msysgit发行版,这是目前做得兼容性最好的. 下载地址: http://code.google.com/p/msysgit/downloads/ ...

随机推荐

  1. 风炫安全web安全学习第三十节课 命令执行&代码执行基础

    风炫安全web安全学习第三十节课 命令执行&代码执行基础 代码执行&命令执行 RCE漏洞,可以让攻击者直接向后台服务器远程注入操作系统命令或者代码,从而控制后台系统. 远程系统命令执行 ...

  2. 腾讯IOT之树莓派物联网设备

    目录 腾讯IOT之树莓派物联网设备 硬件配置 软件配置 Tecent IOT 开发平台的使用 新建项目 新建产品 添加自定义功能 设备开发 微信小程序配置 面板配置 新建设备 使用设备 在线调试 设备 ...

  3. 使用 Admission Webhook 机制实现多集群资源配额控制

    1 要解决的问题 集群分配给多个用户使用时,需要使用配额以限制用户的资源使用,包括 CPU 核数.内存大小.GPU 卡数等,以防止资源被某些用户耗尽,造成不公平的资源分配. 大多数情况下,集群原生的 ...

  4. openstack octavia的实现与分析(一)openstack负载均衡的现状与发展以及lvs,Nginx,Haproxy三种负载均衡机制的基本架构和对比

    [负载均衡] 大量用户发起请求的情况下,服务器负载过高,导致部分请求无法被响应或者及时响应. 负载均衡根据一定的算法将请求分发到不同的后端,保证所有的请求都可以被正常的下发并返回. [主流实现-LVS ...

  5. halcon案例学习之cbm_label_simple

    *cbm_label_simple 程序说明:*这个示例程序展示了如何使用基于组件的匹配来定位复合对象.在这种情况下,应该在图像中找到一个标签,用户既不知道其中的组件,也不知道它们之间的关系.因此,创 ...

  6. Java异常处理场景中不同位置的返回值详细解析

    Java 异常处理中的返回值在不同位置不同场景下是有一些差别的,这里需要格外注意 具体分以下两种场景: 1 finally语句块没有return语句,即当代码执行到try或者catch语句块中的ret ...

  7. h3c交换机配置ssh密码验证登录方式

    一.背景: 1.由于PC机串口不支持热插拔,请不要在交换机带电的情况下,将串口插入或者拔出PC机.当连接PC和交换机时,请先安装配置电缆的DB-9端到PC机,再连接RJ-45到交换机:在拆下时,先拔出 ...

  8. Failed to start LSB: starts php-fpm

    跟nginx一样都是进程占用,记录下 [root@localhost pazzn]# systemctl status php-fpm.service ● php-fpm-72.service - L ...

  9. bootstrap 轮播图带缩列图两端对齐,并自动换行然后左对齐!

    禁止自动轮播 data-interval="false" 完整代码如下: 1 <!DOCTYPE html> 2 <html> 3 4 <head&g ...

  10. GStreamer各个包构建

    GStreamer按功能.维护的标准化程度.依赖库的版权差异等分了若干个包(package),如 gstreamer, gst-plugins-base, gst-plugins-good, gst- ...