将远程分支拉入不同名称的本地仓库?
Posted
技术标签:
【中文标题】将远程分支拉入不同名称的本地仓库?【英文标题】:Pull remote branch into local repo with different name? 【发布时间】:2012-08-16 02:41:51 【问题描述】:好吧,我对此进行了一些研究,但找不到确切的答案,所以我不得不问。
我有 2 个遥控器:origin 和 repo2。
我想做类似的事情
git pull repo2 master
但这会将 repo2 的 master 分支拉到我的 master 中。我可以为我的本地分支指定一个不同的分支吗?
【问题讨论】:
【参考方案1】:git checkout -b myBranchName repo2/master
【讨论】:
注意 - 如果尚未完成,您必须事先运行git fetch remote2
。否则你可能会看到 > fatal: Cannot update paths and switch to branch 'myBranchName'。
注意——如果你需要推回,使用git push repo2 myBranchName:master
作为一个简单的git push
会失败
如果分支已经存在怎么办?我想用 repo 中的代码更新那里的代码。
@Jared 从技术上讲是一个不同的问题,但也很容易实现(实际上这是最常见的用例之一)。这稍微取决于你已经做了什么。在大多数情况下,它只是git checkout my_branch && git pull --rebase
(--rebase
取决于您的工作流程)。如果分支尚未跟踪远程分支,则需要执行一次git branch --set-upstream my_branch upstream/my_branch
。【参考方案2】:
git pull
命令是执行git fetch
和git merge
的便捷函数。如果您只想从新远程检索分支而不尝试将其合并到任何工作副本分支中,您可以使用git fetch
。然后您可以参考git branch -av
查看所有本地和远程分支,并根据需要在任一远程操作。
【讨论】:
以上是关于将远程分支拉入不同名称的本地仓库?的主要内容,如果未能解决你的问题,请参考以下文章
git本地仓库关联多个remote,怎么用本地一个分支向不同remote不同分支推送代码