git添加远程分支

Rai*_*Rai 120 git

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

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

有人可以帮帮我吗?

Dav*_*dek 253

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

创建一个名为"github"的远程:

git remote add github git://github.com/jdoe/coolapp.git
git fetch github
Run Code Online (Sandbox Code Playgroud)

列出所有远程分支:

git branch -r
  github/gh-pages
  github/master
  github/next
  github/pu
Run Code Online (Sandbox Code Playgroud)

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

git branch test github/pu
git checkout test
Run Code Online (Sandbox Code Playgroud)

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

git fetch github
git checkout test
git merge github/pu
Run Code Online (Sandbox Code Playgroud)

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

git push github test:pu
Run Code Online (Sandbox Code Playgroud)

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

git push github test:beta
Run Code Online (Sandbox Code Playgroud)

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

git push github :pu
Run Code Online (Sandbox Code Playgroud)

  • 很好的答案,但“github”对于这个存储库来说是一个不必要的混乱名称。example_repo 或几乎其他任何东西都不会那么混乱。 (5认同)

Ada*_*ruk 20

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

git ls-remote origin
Run Code Online (Sandbox Code Playgroud)

如果你打电话给你的遥控器"原产地".如果您收到错误,可能无法正确设置安全性,例如将公钥上传到github.如果设置正确,您将获得远程引用的列表.现在

git fetch origin
Run Code Online (Sandbox Code Playgroud)

将禁止任何其他问题,如拔掉网络电缆.

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

git checkout some-branch
Run Code Online (Sandbox Code Playgroud)

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


Jas*_*son 10

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

我相信它有效,试试

git fetch <remote_name> <remote_branch>:<local_branch>
git checkout <local_branch>
Run Code Online (Sandbox Code Playgroud)

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

git fetch foo bar:bar
git checkout bar
Run Code Online (Sandbox Code Playgroud)


Pav*_*van 7

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

  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 的一般情况的说明。我在这个答案中没有看到任何针对所问问题的内容。 (2认同)

Sam*_*phy 5

你可能只是做..

git checkout branch_name
Run Code Online (Sandbox Code Playgroud)

如果远程分支存在于 origin 上,那么 git 将跟踪它是否具有相同的名称。


小智 5

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

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

git branch --set-upstream-to=origin/B A
Run Code Online (Sandbox Code Playgroud)

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

然后运行

git pull 
Run Code Online (Sandbox Code Playgroud)

从 B 中提取更改

然后运行

git push 
Run Code Online (Sandbox Code Playgroud)

将更改推送到 B