【问题标题】:Pushing code from one branch of a repo to another branch of another repo将代码从一个仓库的一个分支推送到另一个仓库的另一个分支
【发布时间】:2016-06-26 15:27:59
【问题描述】:

有一个 repo 说 ABC/A。我已经将这个 repo 分叉到我自己的 github 上,比如 ME/A。我被要求在 ME/A 上创建一个分支,比如 x(最初有开发和主控)。我不得不写一些代码,所以我克隆了 ABC/A 并在它的开发分支上工作。但是现在当我必须推送代码时,我无法将其推送到 ABC/A,因为我无权这样做。我必须将代码推送到 ME/A。问题是,我为 ABC/A 开发分支,但我必须将代码推送到 ME/A x 分支。这种方式可以推送代码吗?

【问题讨论】:

    标签: git github git-push git-commit


    【解决方案1】:

    是的,您可以将任何本地分支推送到任何远程分支。语法是

    git push <remote name, e.g. origin> <local branch name>:<remote branch name>
    

    如果您当前的分支(您要推送的分支)称为develop,则命令为

    git push ME develop:x
    

    【讨论】:

      【解决方案2】:

      罗曼的答案是正确的。但是,对于某些人来说,还有一个额外的步骤可能并不明显。您需要先添加新存储库(您尝试推送到的存储库)的远程名称和 URL,然后再推送到该存储库中的分支。可以这样做;

      git remote add <remote name> <remote url>
      //For example
      git remote add origin2 https://user@github.com/example/new_repo.git
      

      然后你可以像 Roman 的回答一样继续,通过像这样推送到新的 repo 分支

      git push origin2 local_branch:new_repo_branch
      

      【讨论】:

        【解决方案3】:

        假设您用于ME 的遥控器名称为megit remote -v show 将列出它们)。

        然后在你的分支签出后,做

        git push -u me A
        

        其中A 是分支的名称。 -u 将设置您的本地分支以跟踪 me 上的上游分支,因此 git pull 将从正确的位置拉取,而未来的 git pushes 将无需其他命令即可工作。

        【讨论】:

        • 我想将我的更改推送到远程分支 x,但我的更改在本地分支 A。我该怎么办?
        • 如果远程分支 x 已经存在,请检查远程分支 x,将您的更改合并到其中,然后将其推回。
        猜你喜欢
        • 2019-03-10
        • 2023-01-13
        • 1970-01-01
        • 1970-01-01
        • 2021-08-20
        • 1970-01-01
        • 1970-01-01
        • 2022-09-25
        • 2019-03-17
        相关资源
        最近更新 更多