git同步源码到gitee和github
<p><span style="font-size: 14pt"><strong>如何把我们的源码同步到gitee或github远程仓库中</strong></span></p><p><span style="font-size: 14pt"><strong>同步方式分以下几种:</strong></span></p>
<hr>
<p> </p>
<p><span style="background-color: rgba(255, 255, 255, 1); color: rgba(0, 0, 255, 1)"><strong><span style="text-decoration: underline; font-family: "Microsoft YaHei"; font-size: 18px">1、命令同步 </span> </strong></span></p>
<blockquote>
<ul>
<li><span style="color: rgba(51, 204, 204, 1)"><span style="background-color: rgba(255, 255, 255, 1)"><strong>先查看下我们是否有远程仓库:<span class="cnblogs_code">git remote -v</span></strong></span></span></li>
<li><span style="color: rgba(128, 0, 128, 1)">如有就要删除远程仓库或是同命令覆盖,如全新安装就不需要!</span></li>
<li><strong style="background-color: initial"><span style="color: rgba(51, 204, 204, 1)">删除已关联的名为origin的远程库:</span></strong><strong style="background-color: initial"><span style="color: rgba(51, 204, 204, 1)"> <span class="cnblogs_code">git remote <span style="color: rgba(0, 0, 255, 1)">rm</span> origin </span> </span></strong></li>
<li><strong><span style="color: rgba(51, 204, 204, 1)">关联GitHub的远程库: <span class="cnblogs_code">git remote add github git@github.com:xxx/xxx.git</span></span></strong></li>
<li><strong><strong><span style="color: rgba(51, 204, 204, 1)">关联Gitee的远程库: </span></strong></strong><span class="cnblogs_code">git remote add gitee git@gitee.com:xxx/xxx.git</span></li>
</ul>
</blockquote>
<p><span style="font-size: 18px; color: rgba(0, 0, 255, 1)"><strong>2、配置修改</strong></span></p>
<p><span style="color: rgba(128, 0, 128, 1)">修改.git文件夹内的config文件:</span></p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 0, 1)">
repositoryformatversion </span>= <span style="color: rgba(128, 0, 128, 1)">0</span><span style="color: rgba(0, 0, 0, 1)">
filemode </span>= <span style="color: rgba(0, 0, 255, 1)">true</span><span style="color: rgba(0, 0, 0, 1)">
bare </span>= <span style="color: rgba(0, 0, 255, 1)">false</span><span style="color: rgba(0, 0, 0, 1)">
logallrefupdates </span>= <span style="color: rgba(0, 0, 255, 1)">true</span><span style="color: rgba(0, 0, 0, 1)">
url </span>= git@github.com:chloneda/<span style="color: rgba(0, 0, 0, 1)">demo.git
fetch </span>= +refs/heads<span style="color: rgba(0, 128, 0, 1)">/*</span><span style="color: rgba(0, 128, 0, 1)">:refs/remotes/github/*
remote = origin
merge = refs/heads/master</span></pre>
</div>
<p><span style="color: rgba(255, 102, 0, 1)">将上述文件内容内容复制,修改origin名称 </span></p>
<p><span style="color: rgba(0, 0, 255, 1); font-size: 18px; font-family: "Microsoft YaHei""><strong>3、同步流程</strong></span></p>
<p><span style="color: rgba(0, 0, 255, 1); font-size: 18px; font-family: "Microsoft YaHei""><strong>上传热媒</strong></span></p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 0, 1)">git add . (将变更提交至缓存区)
git commit </span>-m <span style="color: rgba(128, 0, 0, 1)">"提交说明(注释)</span><span style="color: rgba(128, 0, 0, 1)">" - update可以输入你需要上传的描述</span></pre>
</div>
<p> </p>
<p><strong><span style="font-size: 18px; color: rgba(0, 0, 255, 1)">提交命令</span></strong></p>
<div class="cnblogs_code">
<pre># 提交到github</pre>
<pre>git push github master'- 将本地变更推送至远程仓库master分支'<br>#</pre>
<pre>提交到gitee</pre>
<pre>git push gitee master '- 将本地变更推送至远程仓库master分支'</pre>
</div>
<p> 查看状态</p>
<p> </p>
<div class="cnblogs_code">
<pre>git status</pre>
</div>
<p> </p>
<p>更放心代码</p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 0, 1)"># 从github拉取更新
git pull github
# 从gitee拉取更新
git pull gitee</span></pre>
</div>
<p> </p>
<p>项目推送时遇Git推送错误:</p>
<p>error: failed to push some refs to ‘git@gitee.com:name/project.git’</p>
<p>1、分析:</p>
<p>这个问题的产生是因为远程仓库与本地仓库并不一致所造成。</p>
<p>2、解决方案:</p>
<p>那么我们把远程库同步到本地库就可以了。</p>
<p>执行命令:</p>
<div class="cnblogs_code">
<pre>git pull --rebase origin master</pre>
</div>
<p>将远程仓库中的更新合并到本地仓库,–rebase的作用是取消掉本地仓库中刚刚的commit<br>然而未果,出现错误:</p>
<ul>
<li>error: src refspec master does not match any</li>
</ul>
<p>分析:引起该错误的原因是,目录中没有文件,空目录不能提交。</p>
<p>依次执行:</p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 0, 1)">git pull origin master
git push origin master</span></pre>
</div>
<p> </p>
<h2>踩到的坑</h2>
<p>上述过程中,更新或提交代码时可能会遇到fatal:refusing to merge unrelated histories (拒绝合并无关的历史) 错误,解决办法:</p>
<p>首先将远程仓库和本地仓库关联起来。</p>
<div class="highlight">
<div class="cnblogs_code">
<pre>git branch --set-upstream-to=origin/remote_branchyour_branch</pre>
</div>
</div>
<p>其中,origin/remote_branch是你本地分支对应的远程分支,your_branch是你当前的本地分支。</p>
<p>然后使用git pull整合远程仓库和本地仓库。</p>
<div class="cnblogs_code">
<pre>git pull --allow-unrelated-histories (忽略版本不同造成的影响)</pre>
</div>
<p>重新更新、提交即可。</p>
<p>注: 如遇到 Git没有共同祖先的两个分支合并 的情形请自行查询!</p>
<p><span style="font-size: 18px"><strong>报错处理</strong></span></p>
<p>git pull 的时候报如下错误代码:<br>error: Pulling is not possible because you have unmerged files.<br>尝试用git stash没有作用。<br>Pull is not possible because you have unmerged files.</p>
<p>本地的push和merge会形成MERGE-HEAD(FETCH-HEAD), HEAD(PUSH-HEAD)这样的引用。HEAD代表本地最近成功push后形成的引用。MERGE-HEAD表示成功pull后形成的引用。可以通过MERGE-HEAD或者HEAD来实现类型与svn revet的效果。</p>
<p>解决:</p>
<p>1.将本地的冲突文件冲掉,不仅需要reset到MERGE-HEAD或者HEAD,还需要–hard。没有后面的hard,不会冲掉本地工作区。只会冲掉stage区。</p>
<p>git reset –hard FETCH_HEAD</p>
<p>2.git pull就会成功。</p>
<p> </p>
<div>
<div>
<h2>如我们现在在dev分支上,刚开发完项目,执行了下列命令:</h2>
<div class="_2Uzcx_"><button class="VJbwyy" type="button"></button>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 0, 1)">gitadd .
gitcommit </span>-m <span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">提交的备注信息</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">
gitpush </span>-u origin dev</pre>
</div>
<p> </p>
</div>
<h2>想将dev分支合并到master分支,操作如下:</h2>
<ul>
<li>1、首先切换到master分支上</li>
</ul>
<div class="_2Uzcx_"><button class="VJbwyy" type="button"></button>
<div class="cnblogs_code">
<pre>gitcheckout master</pre>
</div>
<p> </p>
</div>
<ul>
<li>2、如果是多人开发的话 需要把远程master上的代码pull下来</li>
</ul>
<div class="_2Uzcx_"><button class="VJbwyy" type="button"></button>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 0, 1)">git pull origin master
</span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">如果是自己一个开发就没有必要了,为了保险期间还是pull</span></pre>
</div>
<p> </p>
</div>
<ul>
<li>3、然后我们把dev分支的代码合并到master上</li>
</ul>
<div class="_2Uzcx_"><button class="VJbwyy" type="button"></button>
<div class="cnblogs_code">
<pre>gitmerge dev</pre>
</div>
<p> </p>
</div>
<ul>
<li>4、然后查看状态及执行提交命令</li>
</ul>
<div class="_2Uzcx_"><button class="VJbwyy" type="button"></button>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 0, 1)">git status
On branch master
Your branch is ahead of </span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">origin/master</span><span style="color: rgba(128, 0, 0, 1)">'</span> by <span style="color: rgba(128, 0, 128, 1)">12</span><span style="color: rgba(0, 0, 0, 1)"> commits.
(use </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">git push</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)"> to publish your local commits)
nothing to commit, working tree clean<br></span></pre>
<pre class="line-numberslanguage-csharp"><code class="language-csharp"><span class="token class-name"><span class="token class-name"><span class="token keyword"><span class="token string"><span class="token number"><span class="token punctuation"><span class="token punctuation"><span class="token string"><span class="token punctuation"><span class="token punctuation"><span class="token comment">//上面的意思就是你有12个commit,需要push到远程master上
<span class="token operator">> 最后执行下面提交命令
git push origin master</span></span></span></span></span></span></span></span></span></span></span></span></code></pre>
</div>
<pre class="line-numberslanguage-csharp"><code class="language-csharp"></code></pre>
</div>
<ul>
<li>5其他命令</li>
</ul>
<div class="_2Uzcx_"><button class="VJbwyy" type="button"></button>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 0, 1)">更新远程分支列表
git remote update origin </span>--<span style="color: rgba(0, 0, 0, 1)">prune
查看所有分支
git branch </span>-<span style="color: rgba(0, 0, 0, 1)">a
删除远程分支Chapater6
git push origin </span>--<span style="color: rgba(0, 0, 0, 1)">delete Chapater6
删除本地分支 Chapater6
git branch </span>-dChapater6</pre>
</div>
<p> </p>
</div>
</div>
</div>
</div>
<div id="MySignature" role="contentinfo">
<p>本文来自博客园,作者:hdlan,转载请注明原文链接:https://www.cnblogs.com/hdlan/p/13904878.html</p><br><br>
来源:https://www.cnblogs.com/hdlan/p/13904878.html
頁:
[1]