【问题标题】:How to sync git branch with remote branch?如何将 git 分支与远程分支同步?
【发布时间】:2021-02-17 04:17:21
【问题描述】:

GitHub上有一个项目,有2个分支:

project/Master
project/stable-v1

我分叉了这个项目,所以现在我在我的私人 github 帐户中拥有:

myGitHub/Master
myGitHub/stable-v1

我使用 SSH 将项目下载到我的本地 mac,所以现在在我的 mac 中我有:

local/Master
local/stable-v1

现在,由于 local/stable-v1myGitHub/stable-v1project/stable-v1 后面的 290 次提交,我想获得所有这些提交。

我发现的所有指南都在谈论变基到 Master 上。这不是这里需要的。 这两个分支非常不同,永远不应该合并。它们并行运行。

我怎样才能做这样的变基? 我试图导航local/stable-v1,然后这样做:

git pull

但由于某种原因,它给了我这么多冲突(不知道为什么?我在本地没有任何更改)

我试过了

git pull --rebase origin stable-v1

但这也造成了很多冲突。

我怎么能说忽略所有内容,只是让 local/stable-v1 与 project/stable-v1 完全相同,并将其也推送到 myGitHub/stable-v1 而不更改 Master 分支上的任何内容?

【问题讨论】:

    标签: git github


    【解决方案1】:

    您需要将上游存储库作为远程添加到您的克隆(克隆时,您会自动获得origin 远程:

    git remote add upstream git@github.com/project/repo.git
    

    然后你可以从这个遥控器获取并执行你喜欢的任何操作,例如:

    git checkout stable-v1
    git fetch upstream
    git merge --ff-only upstream/stable-v1
    git push origin stable-v1
    

    【讨论】:

    • 为什么是上游/主控?
    • @sony upstream 是远程的名称,master 是远程分支的名称。 upstream/master 是远程跟踪分支的名称。它遵循与origin/master 相同的架构
    • 但我不想重新设置 master 分支,我只想从 project/stable-v1 重新设置 stable-v1 分支
    • 然后upstream/stable-v1
    • 要明确 project/stable-v1 是上游,而 myGitHub/stable-v1 是来源?
    猜你喜欢
    • 1970-01-01
    • 2021-03-07
    • 2022-11-19
    • 2013-06-09
    • 2018-12-21
    • 2013-05-11
    • 1970-01-01
    • 2010-12-20
    • 1970-01-01
    相关资源
    最近更新 更多