检查一个本地不存在的远程git分支?

时间:2014-11-17 23:39:49

标签: git branch

请原谅我,如果答案已经存在 - 尽管如此,我仍然可以搜索到我能想到的每一个搜索短语。如果这个问题的答案已经存在,那就不是因为没有尝试而无法找到它。

无论如何 - 这是我的问题。让我们说(我们在这里谈论 git )有一个远程克隆我的本地存储库克隆自同一个存储库 - 只有该远程克隆存在一个分支在我的克隆中没有出现。有没有办法将该远程分支导入我的本地副本?注意:我不想将其与当前分支或类似的东西合并。我只想启动该同一分支的本地副本,该分支具有远程副本所具有的所有内容。有没有办法做到这一点?

再一次 - 我所指的远程分支是不是我的本地克隆用来检查的默认分支,而是一个单独的分支(即,一个人的URL我将需要在命令行上指定。)

感谢。

顺便说一句----我还想知道(一旦完成)如何将所述分支添加到我的本地克隆 签入的默认远程拷贝中默认情况下 - 但如有必要,我可以就此提出单独的问题----所以,如果你只回答这两个问题中的一个问题,请回答第一个问题。

3 个答案:

答案 0 :(得分:5)

您想要运行以下内容:

# Fetch everything from the other remote
git fetch <remote name>
# Check out the remote version of the branch
git checkout <remote name>/<branch name>
# Create the new local branch
git checkout -b <branch name>

这为您提供了一个本地的,可行的分支副本。然后,要将其推回原始遥控器(假设它是origin),我们只需运行

git push origin <branch name>:<branch name>

这会将您的新分支推送到原始遥控器。

答案 1 :(得分:1)

只需使用下一个:

git fetch <remote repo name>
git checkout -b <local branch name> <remote repo name>/<remote branch name>

这对我来说很有帮助,此过程与Windows计算机上通过TortoiseGit自动生成的动作相同。

答案 2 :(得分:1)

一个命令将完成这项工作:

git checkout -b <local_branch_name> origin/<remote_branch_name>

编辑: 如果发生错误: 致命:'origin / '不是提交,因此无法从中创建分支''。

您可以尝试:

git pull
git checkout -b <local_branch_name> origin/<remote_branch_name>