亢黾 發表於 2020-12-10 23:43:00

Windows配置Github、Gitee共存的Git环境

<p>@</p><div class="toc"><div class="toc-container-header">目录</div><ul><li>1、清除git全局配置</li><li>2、SSH keys</li><li>3、配置config</li><li>4、用ssh命令测试</li><li>6、使用</li></ul></div><p></p>
<br>
<p>在我们的日常开发中,可能要用到多个账号,公司开发<code>gitlab</code>,国外开源<code>github</code>,国内开源<code>gitee</code>。这种多环境的情况下,我们就需要生成和配置多个SSH-Key。</p>
<p>本文基于Win10操作系统,需要安装好Git:Windows环境下Git安装和配置</p>
<br>
<h2 id="1清除git全局配置">1、清除git全局配置</h2>
<p>如果在此之前配置过全局用户名和邮箱:</p>
<pre><code class="language-bash">$ git config --global user.name "test"
$ git config --global user.email test@qq.com
</code></pre>
<p>可以通过<code>git config --global --list</code> 来查看自己的全局配置。</p>
<p>由于是对应不同的开发场景,我们不同环境的提交可能是不同的用户名,所以先清除这两个配置。</p>
<pre><code class="language-bash">$ git config --global --unset user.name "test"
$ git config --global --unset user.email test@qq.com
</code></pre>
<p>清楚掉全局配置以后,提交代码还需要我们的用户名、邮箱怎么办?</p>
<p>在我们的工作目录(项目)里配置即可:</p>
<pre><code class="language-bash">$ git configuser.name 'test'
$ git configuser.email test@qq.com
</code></pre>
<br>
<h2 id="2ssh-keys">2、SSH keys</h2>
<p>打开 git bash。</p>
<ul>
<li>2.1、生成github用的 SSH key</li>
</ul>
<pre><code class="language-bash">$ ssh-keygen -t rsa -C 'github邮箱号' -f ~/.ssh/id_rsa_github
</code></pre>
<p><img src="https://img-blog.csdnimg.cn/20201210224609693.png?#pic_center" alt="在这里插入图片描述" loading="lazy"></p>
<ul>
<li>2.2、生成gitee用的 SSH key</li>
</ul>
<pre><code class="language-bash">$ ssh-keygen -t rsa -C 'gitee邮箱号' -f ~/.ssh/id_rsa_gitee
</code></pre>
<p>在Windos的User Home目录(<code>C:\Users\用户名\.ssh</code>)下,会生成对应的文件。</p>
<p><img src="https://img-blog.csdnimg.cn/20201210225030376.png?#pic_center" alt="在这里插入图片描述" loading="lazy"><br>
<br></p>
<ul>
<li>2.3、分别登录<code>gitee</code>、<code>github</code>添加<code>SSH KEY</code></li>
</ul>
<p>这里以gitee为例,github和gitee类似,这里就不再演示。</p>
<p>  - 进入<code>设置</code> --&gt; <code>SSH公钥</code> --&gt; <code>添加公钥</code>:</p>
<p><img src="https://img-blog.csdnimg.cn/20201210225513211.png?#pic_center" alt="在这里插入图片描述" loading="lazy"></p>
<p>  - 将我们生成的密钥 <code>id_rsa_gitee.pub</code>填进去</p>
<p><img src="https://img-blog.csdnimg.cn/20201210225917913.png?#pic_center" alt="在这里插入图片描述" loading="lazy"></p>
<br>
<h2 id="3配置config">3、配置config</h2>
<ul>
<li>打开git bash,在<code>.ssh</code>目录下,新建并编辑config文件,命令如下:</li>
</ul>
<pre><code class="language-bash">$ cd ~/.ssh
$ touch config
$ vim config
</code></pre>
<ul>
<li>输入 <code>i</code>进入编辑模式,输入以下内容</li>
</ul>
<pre><code class="language-bash"># gitee
Host gitee.com
HostName gitee.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa_gitee
# github
Host github.com
HostName github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa_github

</code></pre>
<p><img src="https://img-blog.csdnimg.cn/20201210230823310.png?#pic_center" alt="在这里插入图片描述" loading="lazy"></p>
<p>-<code>ESC</code> 进入命令模式输入<code>:wq</code>保存、退出。</p>
<br>
<h2 id="4用ssh命令测试">4、用ssh命令测试</h2>
<p>用ssh命令分别测试:</p>
<pre><code class="language-bash">$ ssh -T git@gitee.com
$ ssh -T git@github.com
</code></pre>
<p>出现下面的结果说明配置成功:</p>
<pre><code class="language-bash">$ ssh -T git@gitee.com
The authenticity of host 'gitee.com (212.64.62.183)' can't be established.
ECDSA key fingerprint is SHA256:FQGC9Kn/eye1W8icdBgrQp+KkGYoFgbVr17bmjey0Wc.
Are you sure you want to continue connecting (yes/no/)? yes
Warning: Permanently added 'gitee.com,212.64.62.183' (ECDSA) to the list of known hosts.
Hi fighter3! You've successfully authenticated, but GITEE.COM does not provide shell access.

</code></pre>
<p><img src="https://img-blog.csdnimg.cn/20201210231517218.png?#pic_center" alt="在这里插入图片描述" loading="lazy"></p>
<br>
<h2 id="6使用">6、使用</h2>
<ul>
<li>我们可以通过 <code>ssh</code> 路径来克隆项目,或者<code>git init</code>之后添加远程仓库:</li>
</ul>
<p><img src="https://img-blog.csdnimg.cn/20201210231652724.png?#pic_center" alt="在这里插入图片描述" loading="lazy"><img src="https://img-blog.csdnimg.cn/20201210232015631.png?#pic_center" alt="在这里插入图片描述" loading="lazy"><br>
<br></p>
<ul>
<li>上面是一个gitee仓库的路径,我们可以给项目添加github的远程仓库</li>
</ul>
<pre><code class="language-bash">$ git remote add github git@github.com:fighter3/dairly-learn.git
</code></pre>
<ul>
<li>接下来我们可以把代码 <code>push</code> 到github</li>
</ul>
<pre><code class="language-bash">$ git push github master
</code></pre>
<p><br><br><br></p>
<p><big><b>参考:</b></big></p>
<p>【1】:配置同时使用 Gitlab、Github、Gitee(码云) 共存的开发环境<br>
【2】:Git配置多个SSH-Key </p><br><br>
来源:https://www.cnblogs.com/three-fighter/p/14118189.html
頁: [1]
查看完整版本: Windows配置Github、Gitee共存的Git环境