windows 配置同时使用 Gitlab、Github、Gitee(码云) 共存的开发环境

参考 https://www.jianshu.com/p/68578d52470c 

https://blog.csdn.net/weixin_39973810/article/details/90516137

https://www.cnblogs.com/fallTakeMan/p/11638726.html

https://www.jianshu.com/p/68578d52470c

https://www.cnblogs.com/lambdaRan/p/11022857.html

https://www.jianshu.com/p/fafff75eefcb

 

1. 清除 git 的全局设置(针对已安装 git)

新安装 git 跳过。

若之前对 git 设置过全局的 user.nameuser.email
类似 (用 git config --global --list 进行查看你是否设置)

$ git config --global user.name "你的名字"
$ git config --global user.email  "你的邮箱"

必须删除该设置

$ git config --global --unset user.name "你的名字"
$ git config --global --unset user.email "你的邮箱"

2. 生成新的 SSH keys

新建文件夹  D:\keygen

1)Gitee 密钥

跳转到keygen目录,git bash here。

先键入第二行命令

第四行 指定 id 文件名称为id_rsa_gitee

第五、六行 设置无密码,直接回车两次。

会在keygen目录下生成文件  id_rsa_gitee 和 id_rsa_gitee.pub。

id_rsa_gitee.pub中存放的是公钥。

把公钥保存到gitee网页密钥中。

honey@honey MINGW64 /d/keygen
$ ssh-keygen -t rsa -C myemail_1@126.com
Generating public/private rsa key pair.
Enter file in which to save the key (/c/Users/honey/.ssh/id_rsa): id_rsa_gitee
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in id_rsa_gitee.
Your public key has been saved in id_rsa_gitee.pub.
The key fingerprint is:
...
The key's randomart image is:
...

也可指定文件路径,方便后面操作:~/.ssh/id_rsa.gitlab 

ssh-keygen -t rsa -f ~/.ssh/id_rsa.gitee -C "lx@qq.com"

直接回车3下,什么也不要输入,就是默认没有密码。

注意 gitee 和 gitlab 的文件名是不同的。

2)GitLab 密钥

同上

跳转到keygen目录,git bash here。

先键入第二行命令

第四行 指定 id 文件名称为id_rsa_gitlab

第五、六行 设置无密码,直接回车两次。

会在keygen目录下生成文件  id_rsa_gitlab 和 id_rsa_gitlab.pub。

id_rsa_gitlab.pub中存放的是公钥。

把公钥保存到gitlab网页密钥中。

honey@honey MINGW64 /d/keygen
$ ssh-keygen -t rsa -f id_rsa_gitlab -C myemail_2@163.com
Generating public/private rsa key pair.
id_rsa_gitlab already exists.
Overwrite (y/n)? y
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in id_rsa_gitlab.
Your public key has been saved in id_rsa_gitlab.pub.
The key fingerprint is:
...
The key's randomart image is:
...

 

ssh-keygen -t rsa -f ~/.ssh/id_rsa.gitlab -C "lx@vip.qq.com"

3)GitHub 密钥

同上

ssh-keygen -t rsa -f ~/.ssh/id_rsa.github -C "lx@vip.qq.com"

4)完成后会在d:/keygen / 目录下生成以下文件

  • id_rsa_github
  • id_rsa_github.pub
  • id_rsa_gitlab
  • id_rsa_gitlab.pub
  • id_rsa_gitee
  • id_rsa_gitee.pub

5)把文件拷贝到~/.ssh / 目录下生成以下文件

windows .ssh目录 是 C:\Users\honey\.ssh 即C:\Users\windows登录名\.ssh

  • id_rsa_github
  • id_rsa_github.pub
  • id_rsa_gitlab
  • id_rsa_gitlab.pub
  • id_rsa_gitee
  • id_rsa_gitee.pub

 

3. config文件

需要在.ssh文件夹下新建config文件,先新建config.txt,然后修改文件名去掉后缀。

config文件内容如下:

其中第二行和第三中 需要填写gitlab的仓库地址

# gitlab
    Host git.xxx.cn
    HostName git.xxx.cn
    PreferredAuthentications publickey
    IdentityFile ~/.ssh/id_rsa_gitlab
    User git
# gitee
    Host gitee.com
    HostName gitee.com
    PreferredAuthentications publickey
    IdentityFile ~/.ssh/id_rsa_gitee
    User git
# github
    Host github.com
    HostName github.com
    PreferredAuthentications publickey
    IdentityFile ~/.ssh/id_rsa_github
    User git

 

4. 测试

 

1)Gitee 测试

$ ssh -T git@gitee.com

步骤如下:

在gitee注册用户登录,创建仓库。https://gitee.com/XXXX/c_demo

在.ssh目录 git bash here

honey@honey MINGW64 ~/.ssh
$ ssh -T git@gitee.com
Warning: Permanently added the ECDSA host key for IP address '180.97.125.228' to the list of known hosts.
Hi fengmi! You've successfully authenticated, but GITEE.COM does not provide shell access.

显示successfully。

2)GitLab 测试

git@git.XXX.cn 是gitlab的仓库地址

$ ssh -T git@git.XXX.cn

步骤如下:

跳转到.ssh目录,git bash here。

honey@honey MINGW64 ~/.ssh
$ ssh -T git@git.XXX.cn
The authenticity of host 'git.XXX.cn (111.203.245.108)' can't be established.
ECDSA key fingerprint is ....
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added 'git.emapgo.cn,111.203.245.108' (ECDSA) to the list of known hosts.
Welcome to GitLab, @mygitlabhostname!

显示welcome to gitlab。

3)Github 测试

同gitee

4)~/.ssh / 目录下最终拥有如下文件

windows .ssh目录 是 C:\Users\honey\.ssh 即C:\Users\windows登录名\.ssh

  • id_rsa_github
  • id_rsa_github.pub
  • id_rsa_gitlab
  • id_rsa_gitlab.pub
  • id_rsa_gitee
  • id_rsa_gitee.pub
  • config
  • known_hosts

4) 查看电脑中自己的配置信息

$ cat config
honey@honey MINGW64 ~/.ssh
$ cat config
# gitlab
    Host git.XXX.cn
    HostName git.XXX.cn
    PreferredAuthentications publickey
    IdentityFile ~/.ssh/id_rsa_gitlab
    User git
# gitee
    Host gitee.com
    HostName gitee.com
    PreferredAuthentications publickey
    IdentityFile ~/.ssh/id_rsa_gitee
    User git

5. 使用

 

1)Gitlab 

在本地以后gitlab仓库,git pull ,git commit -m "XXX",git push 会提示 tell me who you are

此时需要填写local 用户名和邮箱,而不是 --global

$ ssh git config --local user.name "你的名字"
$ ssh git config --local user.email  "你的邮箱"

2)Gitee 

待续

 

3)Github 

待续

 

 

6. 对上述配置文件和配置字段信息进行简单解释

 

下面对上述配置文件中使用到的配置字段信息进行简单解释:

  • Host
    它涵盖了下面一个段的配置,我们可以通过他来替代将要连接的服务器地址。
    这里可以使用任意字段或通配符。
    当ssh的时候如果服务器地址能匹配上这里Host指定的值,则Host下面指定的HostName将被作为最终的服务器地址使用,并且将使用该Host字段下面配置的所有自定义配置来覆盖默认的/etc/ssh/ssh_config配置信息。

  • Port
    自定义的端口。默认为22,可不配置

  • User
    自定义的用户名,默认为git,可不配置   , User git #默认就是git,可以不写

  • HostName
    真正连接的服务器地址

  • PreferredAuthentications
    指定优先使用哪种方式验证,支持密码和秘钥验证方式

  • IdentityFile
    指定本次连接使用的密钥文件

 

### 回答1: GitHubGitLabGitee都是基于Git的代码托管平台,但它们之间有以下区别: 1. 托管服务商不同:GitHub是由美国GitHub公司提供的,GitLab是由GitLab公司提供的,Gitee是由中国的码云公司提供的。 2. 功能和特性不同:GitHubGitLab都提供了完整的代码托管、版本控制、协作开发、CI/CD等功能,而Gitee则更加注重国内用户的需求,提供了更多的中文化、社交化、企业级服务等特性。 3. 安全性不同:GitHubGitLab都有较高的安全性,包括代码加密、访问控制、漏洞修复等,而Gitee则因为在国内,可能会受到政策和法律的限制,安全性可能会受到影响。 4. 社区和用户群不同:GitHubGitLab都有全球性的用户群,社区活跃度高,开源项目数量多,而Gitee则更多地聚焦于国内用户,社区规模相对较小。 总的来说,GitHubGitLab更适合全球范围内的开发者和企业使用,而Gitee则更适合国内用户和企业使用。 ### 回答2: GitHubGitLabGitee都是常见的代码托管平台,它们都使用Git作为版本控制工具。下面是对它们的区别和特点的详细分析: 1. 背景和出品公司 GitHub是全球最大的代码托管平台,由美国GitHub公司推出,拥有全球活跃用户最多、最活跃的开源社区,用户可以将代码存储在GitHub上,并与其他用户分享和交流。 GitLab也是一款Git仓库管理工具,由本土且开源的GitLab公司(现已被美国招标在Nvidia旗下)开发。它不仅提供代码托管服务,还包括项目管理、自动化构建、CI/CD等功能。 Gitee是国内优秀的代码托管平台,由国内技术公司OSCHINA开发,主要服务国内开发者,拥有较为完善的中文文档,以及国内优秀的自动化开发流程构建服务语音机器人。 2. 私有仓库限制 GitHub是一个完全公开的平台,只支持开放源代码仓库,如果需要使用私有仓库,需要购买付费账户。而GitLabGitee则提供私有代码仓库的免费服务,不需要支付额外费用。 3. 功能和扩展性 三个平台都支持Git作为版本控制工具,支持Webhook、issue跟踪等基本的工具,但GitLab除此之外,还具备代码质量分析、自动化集成、CI/CD等高级功能,非常适合团队协作和支持DevOps实践。而Gitee则针对国内开发者的需求,进行了一些本地化的优化,提供了一些集成环节,支持常见的开发语言和常用工具的使用,听说还提供了基于web IDE的代码开发调试能力。 4. 社区和使用GitHub是全球领先的开源社区,拥有众多的优秀开源项目和活跃的开发者社区,吸引了全球众多的开发者和组织加入其中。GitLab虽然不如GitHub知名度高,但也是一个活跃度很高的Git社区。在国内,Gitee码云有很好的口碑,得到了很多开发者的青睐,也聚集了不少高质量的开源项目。 总之,GitHubGitLabGitee在代码管理上都提供了优秀的服务,但是它们的目标用户和产品定位都有所不同。开发者可以根据自己的需求和技术栈来选择适合自己的平台。 ### 回答3: GitHubGitLabGitee都是目前比较知名的代码托管平台,它们的主要功能都是为开发者提供一个代码的版本控制和协作的平台。它们之间的区别主要从以下几个方面来看: 1. 托管服务商不同 GitHub是由美国公司GitHub Inc.进行维护,GitLab是由瑞典的GitLab Inc. 维护,而Gitee是由中国广州山月网络科技股份有限公司维护。 2. 提供的服务不同 虽然都是提供代码托管服务,但GitHubGitLab还提供了一些其他的服务,比如项目管理、CI/CD工具等。 3. 用户群体不同 虽然三个平台都是全球性公司,但GitHubGitLab的用户主要集中在欧美,而Gitee的用户主要在中国。 4. 费用不同 三个平台都提供了免费的代码托管服务,不过付费服务差异较大。GitHub提供了更多的功能,但收费也更高,而GitLab提供更多的免费功能,但是其托管服务较慢。Gitee则是提供了相对较便宜的付费方案,且服务质量相对稳定。 综上述,虽然三个平台都是代码托管平台,但在自身的特点和重点上会有所不同。GitHub的最大的功能是构建协作社区类似程序,其他则如 CI/CD、移动应用发布、企业级和数据中心级的代码托管等,GitLab则更适合企业使用。对于中国用户来说,Gitee可能会更适合,因为在国内的网络环境下,访问速度会更快。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值