156

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

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

谁能帮帮我?

4

6 回答 6

317

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

创建一个名为“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) 创建一个新的本地分支 (test):

git branch test github/pu
git checkout test

将 github 远程分支 (pu) 的更改与本地分支 (test) 合并:

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
于 2012-06-29T18:26:51.473 回答
28

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

git ls-remote origin

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

git fetch origin

除非出现任何其他问题,例如未插入的网络电缆,否则将正常工作。

完成后,您可以获得上面列出的命令所需的任何分支

git checkout some-branch

这将创建一个与远程分支同名的本地分支并检查它。

于 2012-06-29T18:48:32.047 回答
10

我测试了@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
于 2019-07-05T02:02:05.177 回答
7

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

  1. 创建本地存储库:-

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

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

  2. 链接远程分支:-

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

    $ git remote add RepoName RepoURL

    用法:git远程添加[]

  3. 测试遥控器

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

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

  4. 现在推送到远程

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

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

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

于 2016-05-13T15:00:14.490 回答
7

你可能只是做..

git checkout branch_name

如果远程分支存在于 origin 上,则 git 将跟踪它(如果它具有相同的名称)。

于 2019-08-15T09:12:00.810 回答
2

如果您创建了一个名为 A 的本地分支,并且您有一个名为 B 的远程分支,并且您希望远程分支 B 跟踪本地分支 A 的更改

在命令行或终端上执行以下操作

git branch --set-upstream-to=origin/B A

这会将本地分支 A 的上游设置到远程分支 B

然后运行

git pull 

从 B 中提取更改

然后运行

git push 

将更改推送到 B

于 2021-07-13T15:07:25.207 回答