我仍然学习git而不确定一些基本的东西是如何运作的。我做了一个本地分支:
git branch AppStore
我不记得我是如何将这个分支推送到github.com的,但我可以在存储库中看到MyBranch。当我做的时候
git branch -a
我明白这一点:
ARC
* AppStore
Refactoring
Release3
master
remotes/origin/AppStore
remotes/origin/HEAD -> origin/master
还列出了更多遥控器。因此,在我创建分支的计算机上,我看到了AppStore分支。但是,我的同事都不能。当我们尝试
时git pull origin AppStore
它抓住了变化。但是当我们尝试
时git checkout AppStore
or
git checkout origin AppStore
我们无法做到。我们缺少什么?谢谢!
编辑:
我根据VonC的回答尝试了这个:
git push --set-upstream origin AppStore
在输入我的凭证后,我得到:
Branch AppStore set up to track remote branch AppStore from origin.
Everything up-to-date
但我的同事仍然看不到分支: - 。
答案 0 :(得分:26)
您需要在上游仓库中发布您的分支,同时在本地跟踪它(确保您的本地分支与新的远程分支保持同步:请参阅“What is a tracking branch”)
git push --set-upstream origin AppStore
正如评论中所提到的,其他开发者需要获取被推送的内容(包括新分支)
git fetch origin是一种方法,但是如果你不确定远程仓库的名称,那么git remote update
就可以了。
这将更新他们的远程分支,但不会创建同名的本地分支,详见“Track all remote git branches as local branches”。
答案 1 :(得分:13)
当您执行git branch xyz
时,它会在您的本地计算机上创建一个分支xyz
。通常,您会在master branch
之外创建一个新分支,以便它具有master's code
。创建分支xyz
后,您进行更改,然后必须git push origin xyz
才能在github
上看到分支。
执行git branch -a
会在您的计算机中显示您的分支机构。直到push
您的分支机构,您无法在远程仓库中找到它。