从一个git仓库提交到另外一个git仓库

在实际的开发中,有可能遇到需要将A仓库的某个branch的代码独立成为一个新的仓库B。我们需要的不仅仅是这个branch的最新提交的代码,而是需要它的整个提交历史。这种需求对于git来说非常简单,主要依靠git remote命令来实现。

把当前代码提交到另一个远程git仓库

假如仓库repo_a当前位于branch_a,要求将branch_a的整个数据(包括提交历史)全部提取出来,并建立一个新的仓库repo_b。这里假设仓库repo_b已经被建立。
git remote add基本语法如下。name和url是必须的。
<pre>
git remote add [-t <branch>] [-m <master>] [-f] [--[no-]tags] [--mirror=<fetch|push>] <name> <url>
</pre>
1、 将仓库repo_b的URL添加到工作仓库的remote。
<pre>
git remote add origin_repo_b git@server_ip:/path/repo_b.git
</pre>
(origin_repo_b:自己起的名字,只要不与现有的remote名重复即可)
(git@server_ip:/path/repo_b.git:repo_b的远程路径)
2、将代码推送到远程repo_b
<pre>
git push origin_repo_b branch_a
</pre>
(origin_repo_b:远程仓库repo_b的名字)
(branch_a:仓库repo_a的的branch_a分支)
3、克隆仓库repo_b,检查是否push成功
<pre>
git clone git@server_ip:/path/repo_b.git
</pre>

将一份相同的代码提交到多个不同的git托管服务器(多个git仓库)

方法非常相似,多使用到了命令<pre>git remote set-url --add [--push] <name> <newurl></pre>
假设在远程的git服务器上又新增了一个仓库repo_c,现在要求repo_b、repo_c提交的代码必须一致。
1、将远程repo_c配置到当前的工作的本地git仓库中
<pre>
git remote set-url --add origin_repo_b git@192.168.1.101:~/project/repo_c.git
</pre>
这句话的意思是,将远程仓库git@192.168.1.101:~/project/repo_c.git也加入到origin_repo_b这个名字下面管理

2、将代码同时提交到远程仓库repo_b和远程仓库repo_c
<pre>
git push origin_repo_b branch_a
</pre>

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • git常用命令 GIT常用命令备忘:http://stormzhang.com/git/2014/01/27/gi...
    新篇章阅读 8,565评论 1 26
  • 本片内容转自CSDN http://blog.csdn.net/ithomer/article/details/7...
    五娃儿阅读 4,954评论 2 88
  • 人的磁场很奇怪。 你不感恩,就不顺利。 你不承担责任,就不成长。 你不付出,就得不到。 你没有爱心,就没有吸引力。...
    医成道人阅读 1,036评论 0 0
  • 如同牛郎织女 我和你之间隔了一盏月光的距离 不 比不得 我们还要更惨两级 牛郎还能等到喜鹊搭桥 载他飞起 我却被排...
    cy走啊阅读 250评论 3 4
  • 01 人生总要冒一次险,在那个高考结束的夏天我终于鼓起勇气出发了。我曾想象着我坐火车时候的样子,一个人背个双肩包带...
    陆松风阅读 919评论 15 13