【问题标题】:Git: how to move a branch between repositoriesGit:如何在存储库之间移动分支
【发布时间】:2016-06-10 15:27:18
【问题描述】:

这是我的情况:我从存储库中克隆了一个主分支并创建了一个本地分支来进行更改。经过几天的工作,我尝试推送我创建的这个本地分支,以便团队也可以处理它。然后我意识到我没有权限推送到这个存储库,所以我创建了一个 fork 和一个分支,以便我可以推送我的更改。

现在我想把这个分支移到我的 fork 并保存在同一个地方。真正理想的情况是将这个 fork 分支指向退出位置。

我正在使用 sourcetree 和 bitbucket

我该怎么做?

感谢您的帮助

【问题讨论】:

    标签: git github


    【解决方案1】:

    Git 是一个分布式版本控制系统。因此,您可以在多个位置拥有相同的存储库。当您第一次在本地克隆 repo 时,您拥有自己的副本,其中包含一个名为 origin 的“远程”(请参阅​​输入 git remote -v)。您只需将您创建的第二个 fork 添加为第二个遥控器:

    git remote add other git@host.com:foo/bar.git

    在前面的命令中,“other”只是一个远程的名字,所以后面你可以这样做:git push other master(将我的本地主机推到其他主机)或git push other local_branch:remote_branch

    可能性是无限的,您可以从任何远程分支拉/推到任何本地分支。

    Git 在其网站上免费提供了一本书:https://git-scm.com/book/en/v2。这对每个人来说都是一个很好的开始,这对我来说是前一阵子。

    【讨论】:

    • 我还要添加 Atlassian 的“forking workflow”解释。我们将“upstream”用于公司存储库,将“origin”用于我们自己的个人 fork。
    • 谢谢,我想让我的答案不知道 git 存储库的托管位置。但是,是的,克隆时默认名称是“origin”,其他一切都取决于用户或用户遵循的最佳实践。
    • "other" 只是遥控器的名称。 git push origin feature_branch:feature_branch eh?
    猜你喜欢
    • 1970-01-01
    • 2018-09-09
    • 1970-01-01
    • 2011-10-04
    • 2011-12-18
    • 2014-10-20
    • 1970-01-01
    • 2011-01-14
    • 1970-01-01
    相关资源
    最近更新 更多