Git - 将一个项目同时从本地推送到 GitHub 和 Gitee
<h2>前言</h2><p>博主是根据自己的情况写这篇博文的,每个人遇到的情况和需求可能不一样哈,所以初始的步骤也不一定一致,但是同时推送到Github和Gitee的步骤都会是一致滴!</p>
<p> </p>
<h2>Gitee拉取Github仓库</h2>
<p>直接在Gitee中创建一个项目,然后再最后一行导入Github项目就阔以啦!</p>
<p><img src="https://img2018.cnblogs.com/i-beta/1896874/202001/1896874-20200119171043102-666253483.png" alt="" width="506" height="459"></p>
<p>去到你的Github仓库复制https链接,直接粘贴就阔以啦</p>
<p><img src="https://img2018.cnblogs.com/i-beta/1896874/202001/1896874-20200119165709828-847961443.png" alt=""></p>
<p>到此为止,在Gitee就已经创建好仓库啦</p>
<p> </p>
<h2>本地配置推送方式</h2>
<p>方式一:定义不同的远程仓库名称,然后分别推送 <span class="cnblogs_code">多次推送,配了几个远程仓库就推送几次</span> </p>
<p>方式二:在同一个远程仓库下添加另一个远程仓库的地址,然后推送 <span class="cnblogs_code">only一次推送</span> </p>
<p> </p>
<p><span style="color: rgba(210, 44, 74, 1)"><strong><span style="font-size: 14pt">以下情况均是本地只有单个ssh-key时的操作!!</span></strong></span></p>
<h3>方式一:多次推送</h3>
<table style="height: 104px; width: 412px" border="0">
<tbody>
<tr>
<td>优点</td>
<td>缺点</td>
</tr>
<tr>
<td><ol>
<li>想推哪个仓库就推哪个</li>
<li>不想推哪个就不推哪个</li>
</ol></td>
<td>推送仓库数量多时,时间成本高</td>
</tr>
</tbody>
</table>
<p><strong>1.可以直接通过命令将本地项目和gitee项目关联</strong></p>
<p> <span class="cnblogs_code">git remote add gitee 码云项目地址</span> </p>
<p><strong>2.也可以通过修改本地项目的配置文件</strong></p>
<ol>
<li>首先,进入到项目的 <span class="cnblogs_code">.git</span> 文件夹,打开 <span class="cnblogs_code">config</span> 文件</li>
<li>然后,找到 <span class="cnblogs_code"></span> ,复制一份remote到下面,修改remote的名字和url即可</li>
</ol>
<p><img src="https://img2018.cnblogs.com/i-beta/1896874/202001/1896874-20200119173206330-2124712556.png" alt=""></p>
<p> 为了避免冲突,将原始的remote名字也改掉,<strong><span style="color: rgba(210, 44, 74, 1)">注意:</span></strong>remote的名字任意,但是在提交的时候要与这里对应</p>
<p> <img src="https://img2018.cnblogs.com/i-beta/1896874/202001/1896874-20200119173032676-1813608637.png" alt=""></p>
<p><strong>3.执行以下命令,可以看到配置的两个仓库</strong></p>
<p> <span class="cnblogs_code">git remote</span> </p>
<p><strong>4.推送代码时,需要对两个仓库<span style="color: rgba(210, 44, 74, 1)">分别执行一次push命令</span>,也就是<span style="color: rgba(210, 44, 74, 1)">多次推送</span></strong></p>
<p><span class="cnblogs_code">git push github matser</span> </p>
<p><span style="color: rgba(0, 0, 0, 1)"><span class="cnblogs_code">git push gitee master</span> </span><span><strong><span style="color: rgba(210, 44, 74, 1)"> </span></strong></span></p>
<p> </p>
<h3><span style="color: rgba(0, 0, 0, 1)">方式二:一次推送</span></h3>
<p><strong>1.通过命令将码云项目地址添加到本地已有的remote下</strong></p>
<p><span style="color: rgba(0, 0, 0, 1)"> <span class="cnblogs_code">git remote set-url --add origin 码云项目地址</span> </span></p>
<p><strong>2.也可以通过修改本地项目的配置文件</strong></p>
<p><strong><img src="https://img2018.cnblogs.com/i-beta/1896874/202001/1896874-20200119174239907-1417769945.png" alt=""></strong></p>
<p><strong>3.推送代码只需执行以下一条命令即可 </strong></p>
<p><strong><span class="cnblogs_code">git push</span> </strong></p>
<p> </p>
<h2>可能会遇到的问题</h2>
<p>博主就是配完之后遇到了该问题,所以拿出来跟大家说说哈</p>
<p>git push的时有时候会出现错误<span style="color: rgba(210, 44, 74, 1)"> master -> master (fetch first)</span></p>
<p><span style="color: rgba(210, 44, 74, 1)"><img src="https://img2018.cnblogs.com/i-beta/1896874/202001/1896874-20200119181445462-284895596.png" alt=""></span></p>
<p>此时可以输入: <span class="cnblogs_code">git push -f </span> 进行解决错误,然后再: <span class="cnblogs_code">git push</span> </p>
<p>如果上述解决方式不管用也可以输入: <span class="cnblogs_code">git pull --rebase origin master </span> 之后再进行 <span class="cnblogs_code">git push</span> 即可。</p>
<p> </p>
<h2>当本地有多个ssh-key时</h2>
<p>如果也想配多个ssh-key的话,可以参照这篇文章哦:https://www.cnblogs.com/poloyy/p/12189140.html</p>
<p><strong>你需要更改两个地方</strong></p>
<p><strong>第一:公钥配置文件,目录是: <span class="cnblogs_code">C:\Users\user\.<span style="color: rgba(0, 0, 255, 1)">ssh</span></span> 下的 <span class="cnblogs_code">config</span> 文件</strong></p>
<p>现在多了gitee,所以对应的Host也要增加,如下图</p>
<p><img src="https://img2018.cnblogs.com/i-beta/1896874/202001/1896874-20200119183002443-2058171752.png" alt=""></p>
<p>我这里是两个ssh-key都会被Github和Gitee共用,正常来说是一个ssh-key指向一个仓库即可,<span style="color: rgba(210, 44, 74, 1)">譬如第一个key的Host配成Github的,第二个Key的Host配成Gitee</span></p>
<p><span style="color: rgba(210, 44, 74, 1)"><img src="https://img2018.cnblogs.com/i-beta/1896874/202001/1896874-20200119183630006-1376261787.png" alt=""></span></p>
<p> </p>
<p><strong>第二:需要修改在上面配置过的 <span class="cnblogs_code">config</span> 文件,它在你的项目目录下的 <span class="cnblogs_code">.git</span> 文件夹下</strong></p>
<p> 原本只有一个ssh-key时,你的配置文件可能是这样的</p>
<p><img src="https://img2018.cnblogs.com/i-beta/1896874/202001/1896874-20200119182325077-1429934989.png" alt=""></p>
<p> </p>
<p> 当你有两个ssh-key时,你的配置文件就需要改成如下</p>
<p><img src="https://img2018.cnblogs.com/i-beta/1896874/202001/1896874-20200119182449677-574222199.png" alt=""></p>
<p> </p>
<p>最后将 <span class="cnblogs_code">Github_HOST</span> 、 <span class="cnblogs_code">Gitee_HOST</span> 替换成你自己配置里的Host地址</p>
<p>其余步骤都是一样的啦!这里就是要强调下,如果有多个ssh-key时,还得修改下配置文件而已~</p><br><br>
来源:https://www.cnblogs.com/poloyy/p/12215199.html
頁:
[1]