指示哪些分支跟踪哪些远程分支

时间:2012-04-19 13:31:19

标签: git

这是我对Git的理解: -

如果我克隆存储库,那么我最初只获得主分支的副本。然后,我可以指示我想使用带有git checkout标志的-b来跟踪远程分支。这可以按预期工作。

所以我的问题是你如何让Git告诉你这些信息。如果我输入git branch -a,它会显示所有分支的混合列表,例如

* master
  mybranch
  remotes/origin/master
  remotes/origin/mybranch

我想知道的是除了保持相同名称之外,我怎么知道当地分支机构在跟踪什么是远程分支?

感谢。

3 个答案:

答案 0 :(得分:5)

  

如果我克隆存储库,那么我最初只获得主分支的副本。然后,我可以指示我想使用带-b标志的git checkout跟踪远程分支。这可以按预期工作。

实际上,git checkout -b ...是您用来创建分支的方法。如果您只想查看遥控器中已存在的分支,则不需要-b。例如,我在这里创建一个跟踪remotes/origin/folder-hack的本地分支:

$ git checkout folder-hack
Branch folder-hack set up to track remote branch folder-hack from amdragon.
Switched to a new branch 'folder-hack'
  

我想知道的是除了保持相同名称之外,我怎么知道当地分支机构在跟踪什么是远程分支?

每个分支在.git/config中都有相应的配置。您可以通过查看branch.<BRANCHNAME>.remote找到与分支关联的远程,您可以通过查看branch.<BRANCHNAME>.merge找到远程分支的名称。所以,从我之前的例子来看:

$ git config --get branch.folder-hack.remote
amdragon
$ git config --get branch.folder-hack.merge
refs/heads/folder-hack

您只需运行git config --list并查看branch...行。

答案 1 :(得分:1)

尝试

git branch -vv

远程分支显示在与跟踪它的本地分支相同的行上。

答案 2 :(得分:0)

您可以通过以下方式查看所有远程分支以及哪些本地分支已跟踪远程:

git remote show origin