git添加远程分支


139

我要添加一个遥控器,以及该遥控器的一个分支。

我做到了git remote add <newname> <url>,然后我做到了,git fetch --all但是git branch -a没有显示遥控器的任何分支。我的.git / config显示添加的遥控器。

有人可以帮我吗?


2
你什么时候会发生什么git fetch remote branch:branch && git co branch
Samy Dindane 2012年

Answers:


280

我不确定您是否要尝试从本地分支创建远程分支,反之亦然,因此,我概述了这两种方案,并提供了有关合并远程分支和本地分支的信息。

创建一个名为“ github”的遥控器:

git remote add github git://github.com/jdoe/coolapp.git
git fetch github

列出所有远程分支:

git branch -r
  github/gh-pages
  github/master
  github/next
  github/pu

从github的远程分支(pu)创建一个新的本地分支(测试):

git branch test github/pu
git checkout test

将来自github的远程分支(pu)的更改与本地分支(测试)合并:

git fetch github
git checkout test
git merge github/pu

从本地分支(测试)更新github的远程分支(pu):

git push github test:pu

在远程上创建新分支的语法与更新远程分支的语法相同。例如,从本地分支(测试)在github上创建新的远程分支(测试版):

git push github test:beta

从github删除远程分支(pu):

git push github :pu

有没有一种方法可以在不指定名称的情况下创建本地分支,从而自动使用与远程分支相同的名称?
Dubslow

@Dubslow git checkout --track github/pu,看这里
辛里奇

25

您可以检查是否正确设置了远程设置,并具有适当的权限

git ls-remote origin

如果您称您的远程“起源”。如果遇到错误,则可能没有正确设置安全性,例如将公共密钥上传到github。如果一切设置正确,您将获得远程引用的列表。现在

git fetch origin

可以解决任何其他问题,例如拔掉网络电缆。

完成此操作后,您可以获取上面命令列出的所有所需分支

git checkout some-branch

这将创建一个与远程分支同名的本地分支,并将其签出。


6

我测试了@Samy Dindane在OP评论中的建议。

我相信它可以尝试

git fetch <remote_name> <remote_branch>:<local_branch>
git checkout <local_branch>

这是一个虚拟的远程存储库的示例,该存储库以foo一个名为的分支命名bar,我在其中创建了一个bar跟踪远程的本地分支:

git fetch foo bar:bar
git checkout bar

5

这是创建本地存储库并将更改推送到新的远程分支的完整过程

  1. 创建本地存储库:-

    最初,用户可能已经创建了本地git存储库。

    $ git init :-这将使本地文件夹成为Git存储库,

  2. 链接远程分支:-

    现在的挑战是将本地git存储库与远程master分支相关联。

    $ git remote add RepoName RepoURL

    用法:git remote add []

  3. 测试遥控器

    $ git remote show --->显示远程名称

    $ git remote -v --->显示远程分支

  4. 现在推送到远程

    $git add . ---->将所有文件和文件夹添加为git staged'

    $git commit -m "Your Commit Message" --->提交消息

    $git push ---->将更改推送到上游


这些只是使用git的一般情况的说明。在此答案中,我没有看到与所问问题有关的任何内容。
Hack-R

2

如果远程分支已经存在,则可以(可能)摆脱。

git checkout branch_name

并且git会自动设置为在源上跟踪具有相同名称的远程分支。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.