【问题标题】:Git - Merge Files From Other RepositoryGit - 合并来自其他存储库的文件
【发布时间】:2019-08-16 01:59:42
【问题描述】:

是否有可能(以及如何)合并来自不同存储库的文件,然后跟踪它们的拉取请求,即使您的存储库不是分叉?

【问题讨论】:

    标签: git github merge pull


    【解决方案1】:

    通常可以合并来自不同存储库的文件。只需添加多个遥控器,然后选择您想要从/向哪个拉/推更改。

    但是,在我看来,这不是一种好的工作方式。它导致许多冲突,并使历史非常具有误导性。

    【讨论】:

    • 这是因为我有一个 repo 的分支,我对当前的维护者不满意。我想进行大刀阔斧的改变,让它基本上成为一个全新的仓库,我知道原来的维护者不会合并。
    • 但我仍然希望能够合并他的文件并跟踪他的拉取和合并。
    • @xendi 继续做叉子。只是不要发送拉取请求。
    • 我想。我希望你可以更改你的 fork 的 repo 名称并且仍然保持它是一个 fork。可以吗?
    • 如果你想合并来自其他镜像存储库的文件,那么只需通过添加它们的 URL 来指定另一个远程。请使用 git remote add
    【解决方案2】:

    这是因为我有一个 repo 的分支,我对当前的维护者不满意。我想进行大刀阔斧的改变,使其基本上成为一个全新的 repo,我知道原来的维护者不会合并。但我仍然希望能够合并他的文件并跟踪他的拉取和合并。

    最简单的事情是继续做一个分叉,只是不发送拉取请求。分叉对原始存储库或原始维护者没有任何义务。

    如果你想彻底休息,你可以在 Github 上创建一个新的存储库,将你的存储库发送到那里,然后手动将上游存储库设置为远程。

    git remote add upstream <upstream-url>
    

    假设你有一个perl5i 的分支。您将在 Github 上创建一个新的存储库。按照正常说明上传现有存储库。然后你会设置:

     git remote add upstream https://github.com/evalEmpire/perl5i.git
    

    现在您可以从上游获取更新。

     git fetch upsteram
    

    【讨论】:

    • 而且我没有意识到(我没有尝试过)你可以更改 repo 名称并且仍然是一个 fork。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-11-15
    • 2023-03-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-03
    相关资源
    最近更新 更多