从一个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是必须的。

git remote add [-t <branch>] [-m <master>] [-f] [--[no-]tags] [--mirror=<fetch|push>] <name> <url>

1、 将仓库repo_b的URL添加到工作仓库的remote。

 git remote add origin_repo_b git@server_ip:/path/repo_b.git

(origin_repo_b:自己起的名字,只要不与现有的remote名重复即可)
(git@server_ip:/path/repo_b.git:repo_b的远程路径)

2、将代码推送到远程repo_b。

git push origin_repo_b branch_a

(origin_repo_b:远程仓库repo_b的名字)
(branch_a:仓库repo_a的的branch_a分支)

3、克隆仓库repo_b,检查是否push成功。

git clone git@server_ip:/path/repo_b.git

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

方法非常相似,多使用到了命令git remote set-url --add [--push] <name> <newurl>
假设在远程的git服务器上又新增了一个仓库repo_c,现在要求repo_b、repo_c提交的代码必须一致。
1、将远程repo_c配置到当前的工作的本地git仓库中

git remote set-url --add origin_repo_b git@192.168.1.101:~/project/repo_c.git

这句话的意思是,将远程仓库git@192.168.1.101:~/project/repo_c.git也加入到origin_repo_b这个名字下面管理

2、将代码同时提交到远程仓库repo_b和远程仓库repo_c

git push origin_repo_b branch_a
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值