我想添加一个遥控器,以及该遥控器的一个分支。
我做了git remote add <newname> <url>
,然后我做了git fetch --all
但是git branch -a
没有显示远程的任何分支。我的.git / config显示添加的遥控器。
有人可以帮帮我吗?
答案 0 :(得分:240)
我不确定您是否尝试从本地分支创建远程分支,反之亦然,因此我概述了两种方案,并提供了有关合并远程和本地分支的信息。
创建一个名为“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上创建新的远程分支(beta):
git push github test:beta
从github删除远程分支(pu):
git push github :pu
答案 1 :(得分:17)
您可以检查您的远程设置是否正确并且具有
的适当权限git ls-remote origin
如果您调用了远程“原点”。如果您收到错误,可能无法正确设置安全性,例如将公钥上传到github。如果设置正确,您将获得远程引用的列表。现在
git fetch origin
将禁止任何其他问题,例如拔下的网络电缆。
完成后,您可以使用
获得上述命令所需的任何分支git checkout some-branch
这将创建一个与远程分支同名的本地分支并检查它。
答案 2 :(得分:3)
以下是创建本地仓库并将更改推送到新远程分支的完整过程
创建本地存储库: -
最初用户可能已经创建了本地git存储库。
$ git init
: - 这将使本地文件夹成为Git存储库,
关联远程分支 : -
现在挑战是将本地git存储库与远程 master 分支相关联。
$ git remote add RepoName RepoURL
用法:git remote add []
测试远程
$ git remote show
---&gt;显示远程名称
$ git remote -v
---&gt;显示远程分支
现在推送到远程
$git add .
----&gt;将所有文件和文件夹添加为git staged'
$git commit -m "Your Commit Message"
- - - &gt;提交消息
$git push
- - - - &gt;将更改推送到上游
答案 3 :(得分:2)
如果远程分支已经存在,那么您(可能)可以摆脱。.
git checkout branch_name
和git会自动设置为跟踪起源上具有相同名称的远程分支。
答案 4 :(得分:0)
我测试了@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 :(得分:0)
如果你创建了一个名为 A 的本地分支 你有一个名为 B 的远程分支 并且您希望远程分支 B 跟踪本地分支 A 的变化
在命令行或终端上执行以下操作
git branch --set-upstream-to=origin/B A
这将设置在您本地分支 A 的上游 到远程分支 B
然后运行
git pull
从 B 拉取更改
然后运行
git push
将更改推送到 B