git 是否有可能从一个回购协议中提取并推送到另一个回购协议中?

ncecgwcz  于 2023-03-06  发布在  Git
关注(0)|答案(3)|浏览(111)

我在github中有一个公开的repo,我在那里有一个开源应用程序,用于制作产品目录和小的cms内容。
我还有一个私有存储库(不在github中托管),它是在github中托管的开源应用程序下开发的应用程序。
因为我目前正在开发这两个应用程序,在开源应用程序中添加功能,同时在私有应用程序中进行更改,比如更改模板,以及从开源应用程序中提取代码。
我想知道是否有任何方法,我可以拉新的东西从开源的一个,但也推动代码的新应用程序的其他回购。

wqnecbli

wqnecbli1#

为远程设置与拉入URL不同的推入URL:

git remote set-url --push origin user@example.com:repo.git

这将更改remote.name.**pushurl**的配置设置。然后git pull将从原始克隆URL拉入,而git push将推送到另一个。
在旧的Git版本中,git remote set-url没有--push开关,如果没有它,你必须手动更改配置设置:

git config remote.origin.pushurl user@example.com:repo.git
ruarlubt

ruarlubt2#

git pull private mastergit push github master从您的私有存储库(假定它的名称是这样的)中提取数据并推送到github(也可以称为origin)。-)

az31mfrm

az31mfrm3#

当然!2只要进入.git文件夹并打开配置文件,然后编辑它,如下所示:

[core]
    repositoryformatversion = 0
    filemode = true
    bare = false
    logallrefupdates = true
[submodule]
    active = .
[remote "remoteA"]
    url = https://github.com/userA/repoX.git
    fetch = +refs/heads/*:refs/remotes/origin/*
[remote "remoteB"]
    url = https://github.com/userB/repoX.git
    fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
    remote = origin
    merge = refs/heads/master
[pull]
    ff = only
    rebase = true

在此之后,您可以根据需要运行以下命令:

> git pull remoteA [branch_nameX]
> git push remoteB [branch_nameY]

相关问题