如何检出远程分支

时间:2019-05-02 16:43:23

标签: git branch git-remote

我可以在本地存储库中看到两个远程分支:

$ git branch -a
  remote/origin/master
  remote/origin/feature1

我的远程存储库中实际上有四个分支。如何将第三或第四分支结帐到本地?

我通过搜索Internet尝试了许多命令,但没有一个对我有用。 我没问题,但是可以从远程到本地获取master和feature1分支上的更新。

3 个答案:

答案 0 :(得分:0)

您的本地存储库在来源方面可能已过时。要赶上,运行

git fetch

现在您应该看到其他分支。如果这些分支之一被命名为feature2,则运行

git checkout -b feature2 origin/feature2

,或者使用最新的git,

git checkout feature2

将结帐分支并设置跟踪,以防您与其他开发人员合作。

答案 1 :(得分:0)

好的, 我的本地git repo的 config 文件中包含以下内容

[remote "origin"]
    url = <url>
    fetch = +refs/heads/feature1:refs/remotes/origin/feature1
    fetch = +refs/heads/master:refs/remotes/origin/master
[branch "master"]
    remote = origin
    merge = refs/heads/master
[branch "feature1"]
    remote = origin
    merge = refs/heads/feature1
    rebase = false

将远程分支feature2添加到[remote "origin"]部分后,

[remote "origin"]
    url = <url>
    fetch = +refs/heads/feature1:refs/remotes/origin/feature1
    fetch = +refs/heads/master:refs/remotes/origin/master
    fetch = +refs/heads/feature2:refs/remotes/origin/feature2

然后运行

git fetch --all
git branch -a

我在输出中看到远程feature2分支。 我现在可以结帐feature2

还有一个问题,我该如何将本地git repo的分支信息与远程repo同步,而不必手动修改config文件?

答案 2 :(得分:0)

此:

let urlString = "myMp3FileURL"
let serverURL = NSURL(string: urlString)!
if let asset = AVAsset.assetWithURL(serverURL) as? AVAsset {

    let metaData = asset.metaData() //Getting empty list 
}

是问题的根源。在这里,您已指示您的 Git,无论[remote "origin"] url = <url> fetch = +refs/heads/feature1:refs/remotes/origin/feature1 fetch = +refs/heads/master:refs/remotes/origin/master 上Git中存在什么分支,您都希望您的 Git接受并记住 originfeature1,您将分别称为masterorigin/feature1

origin/master的默认标准fetch设置为:

origin

如果您具有设置,则所有内容都会自动运行。

(然后问题就变成了:为什么您似乎想要行为 提供标准默认设置,为什么您停止使用标准默认设置呢?编辑:,显然答案是:您没有,Eclipse / EGit做到了。)