Git 24. 使用Gitee
<p>使用GitHub时,国内的用户经常遇到的问题是访问速度太慢,有时候还会出现无法连接的情况(原因你懂的)。</p><p>如果我们希望体验Git飞一般的速度,可以使用国内的Git托管服务——Gitee(gitee.com)。</p>
<p>和GitHub相比,Gitee也提供免费的Git仓库。此外,还集成了代码质量检测、项目演示等功能。对于团队协作开发,Gitee还提供了项目管理、代码托管、文档管理的服务,5人以下小团队免费。</p>
<div class="uk-alert "><span class="uk-icon-info-circle"> Gitee的免费版本也提供私有库功能,只是有5人的成员上限。</span></div>
<p>使用Gitee和使用GitHub类似,我们在Gitee上注册账号并登录后,需要先上传自己的SSH公钥。选择右上角用户头像 -> 菜单“修改资料”,然后选择“SSH公钥”,填写一个便于识别的标题,然后把用户主目录下的 <span class="cnblogs_code">.ssh/id_rsa.pub</span> 文件的内容粘贴进去:</p>
<p><img src="https://images.cnblogs.com/cnblogs_com/hsinfo/1850777/o_200922085926gitee.png" alt="gitee-add-ssh-key" width="1227" height="754" data-src="/files/attachments/1163452910422880/l"></p>
<p>点击“确定”即可完成并看到刚才添加的Key:</p>
<p><img src="https://images.cnblogs.com/cnblogs_com/hsinfo/1850777/o_200922090039gitee.png" alt="gitee-key" width="1271" height="589" data-src="/files/attachments/1163453163108928/l"></p>
<p>如果我们已经有了一个本地的git仓库(例如,一个名为learngit的本地库),如何把它关联到Gitee的远程库上呢?</p>
<p>首先,我们在Gitee上创建一个新的项目,选择右上角用户头像 -> 左侧菜单 - > 设置 -> 仓库控件信息,然后点击“新建仓库”:</p>
<p><img src="https://images.cnblogs.com/cnblogs_com/hsinfo/1850777/o_200922090653gitee3.png" alt="gitee-new-repo" width="1238" height="900" data-src="/files/attachments/1163453517527296/l"></p>
<p>项目名称最好与本地库保持一致:</p>
<p>然后,我们在本地库上使用命令 <span class="cnblogs_code">git remote add</span> 把它和Gitee的远程库关联:</p>
<div class="cnblogs_code">
<pre>git remote add origin git@gitee.com:liaoxuefeng/learngit.git</pre>
</div>
<p> </p>
<p>之后,就可以正常地用 <span class="cnblogs_code">git push</span> 和 <span class="cnblogs_code">git pull</span> 推送了!</p>
<p>如果在使用命令 <span class="cnblogs_code">git remote add</span> 时报错:</p>
<div class="cnblogs_code">
<pre>git remote add origin git@gitee.com:liaoxuefeng/<span style="color: rgba(0, 0, 0, 1)">learngit.git
fatal: remote origin already exists.</span></pre>
</div>
<p> </p>
<p>这说明本地库已经关联了一个名叫 <span class="cnblogs_code">origin</span> 的远程库,此时,可以先用 <span class="cnblogs_code">git remote -v</span> 查看远程库信息:</p>
<div class="cnblogs_code">
<pre>git remote -<span style="color: rgba(0, 0, 0, 1)">v
origin git@github.com:michaelliao</span>/<span style="color: rgba(0, 0, 0, 1)">learngit.git (fetch)
origin git@github.com:michaelliao</span>/learngit.git (push)</pre>
</div>
<p> </p>
<p>可以看到,本地库已经关联了 <span class="cnblogs_code">origin</span> 的远程库,并且,该远程库指向GitHub。</p>
<p>我们可以删除已有的GitHub远程库:</p>
<div class="cnblogs_code">
<pre>git remote rm origin</pre>
</div>
<p> </p>
<p>再关联Gitee的远程库(注意路径中需要填写正确的用户名):</p>
<div class="cnblogs_code">
<pre>git remote add origin git@gitee.com:liaoxuefeng/learngit.git</pre>
</div>
<p> </p>
<p>此时,我们再查看远程库信息:</p>
<div class="cnblogs_code">
<pre>git remote -<span style="color: rgba(0, 0, 0, 1)">v
origin git@gitee.com:liaoxuefeng</span>/<span style="color: rgba(0, 0, 0, 1)">learngit.git (fetch)
origin git@gitee.com:liaoxuefeng</span>/learngit.git (push)</pre>
</div>
<p> </p>
<p>现在可以看到,origin已经被关联到Gitee的远程库了。通过 <span class="cnblogs_code">git push</span> 命令就可以把本地库推送到Gitee上。</p>
<p>有的小伙伴又要问了,一个本地库能不能既关联GitHub,又关联Gitee呢?</p>
<p>答案是肯定的,因为git本身是分布式版本控制系统,可以同步到另外一个远程库,当然也可以同步到另外两个远程库。</p>
<p>使用多个远程库时,我们要注意,git给远程库起的默认名称是 <span class="cnblogs_code">origin</span> ,如果有多个远程库,我们需要用不同的名称来标识不同的远程库。</p>
<p>仍然以 <span class="cnblogs_code">learngit</span> 本地库为例,我们先删除已关联的名为 <span class="cnblogs_code">origin</span> 的远程库:</p>
<div class="cnblogs_code">
<pre>git remote rm origin</pre>
</div>
<p> </p>
<p>然后,先关联GitHub的远程库:</p>
<div class="cnblogs_code">
<pre>git remote add github git@github.com:michaelliao/learngit.git</pre>
</div>
<p> </p>
<p>注意,远程库的名称叫 <span class="cnblogs_code">github</span> ,不叫 <span class="cnblogs_code">origin</span> 了。</p>
<p>接着,再关联Gitee的远程库:</p>
<div class="cnblogs_code">
<pre>git remote add gitee git@gitee.com:liaoxuefeng/learngit.git</pre>
</div>
<p> </p>
<p>同样注意,远程库的名称叫 <span class="cnblogs_code">gitee</span> ,不叫 <span class="cnblogs_code">origin</span> 。</p>
<p>现在,我们用<code>git remote -v</code>查看远程库信息,可以看到两个远程库:</p>
<div class="cnblogs_code">
<pre>git remote -<span style="color: rgba(0, 0, 0, 1)">v
gitee git@gitee.com:liaoxuefeng</span>/<span style="color: rgba(0, 0, 0, 1)">learngit.git (fetch)
gitee git@gitee.com:liaoxuefeng</span>/<span style="color: rgba(0, 0, 0, 1)">learngit.git (push)
github git@github.com:michaelliao</span>/<span style="color: rgba(0, 0, 0, 1)">learngit.git (fetch)
github git@github.com:michaelliao</span>/learngit.git (push)</pre>
</div>
<p> </p>
<p>如果要推送到GitHub,使用命令:</p>
<div class="cnblogs_code">
<pre>git push github master</pre>
</div>
<p> </p>
<p>如果要推送到Gitee,使用命令:</p>
<div class="cnblogs_code">
<pre>git push gitee master</pre>
</div>
<p> </p>
<p>这样一来,我们的本地库就可以同时与多个远程库互相同步:</p>
<pre><code class="language-ascii">┌─────────┐ ┌─────────┐
│ GitHub │ │Gitee │
└─────────┘ └─────────┘
▲ ▲
└─────┬─────┘
│
┌─────────────┐
│ Local Repo │
└─────────────┘
</code></pre>
<p>Gitee也同样提供了Pull request功能,可以让其他小伙伴参与到开源项目中来。你可以通过Fork我的仓库:https://gitee.com/liaoxuefeng/learngit,创建一个 <span class="cnblogs_code">your-gitee-id.txt</span> 的文本文件, 写点自己学习Git的心得,然后推送一个pull request给我,这个仓库会在Gitee和GitHub做双向同步。</p>
<p> </p>
<p>原文:https://www.liaoxuefeng.com/wiki/896043488029600/1163625339727712</p><br><br>
来源:https://www.cnblogs.com/hsinfo/p/13713352.html
頁:
[1]