如何克隆Git中的所有远程分支?
我有一个master
和一个development
分支,都推到GitHub。 我已经clone
d, pull
版,并fetch
版,但我仍然无法获得比其他任何master
分支回来。
我确信我错过了一些明显的东西,但我已经阅读了手册,并且我没有得到任何喜悦。
首先,克隆一个远程Git仓库并将其放入CD中:
$ git clone git://example.com/myproject
$ cd myproject
接下来,查看您的存储库中的本地分支机构:
$ git branch
* master
但是还有其他分支隐藏在你的仓库中! 你可以使用-a
标志看到这些:
$ git branch -a
* master
remotes/origin/HEAD
remotes/origin/master
remotes/origin/v1.0-stable
remotes/origin/experimental
如果您只想快速浏览上游分支,可以直接查看:
$ git checkout origin/experimental
但是,如果您想在该分支上工作,则需要创建一个本地跟踪分支,该分支自动完成:
$ git checkout experimental
你会看到
Branch experimental set up to track remote branch experimental from origin.
Switched to a new branch 'experimental'
最后一行提出了一些人:“新分支” - 嗯? 它的真正含义是该分支从索引中获取并在本地为您创建。 上一行实际上更具信息性,因为它告诉你分支正在设置为跟踪远程分支,这通常意味着origin / branch_name分支
现在,如果你看看你当地的分支机构,你会看到:
$ git branch
* experimental
master
您可以使用git remote
实际跟踪多个远程存储库。
$ git remote add win32 git://example.com/users/joe/myproject-win32-port
$ git branch -a
* master
remotes/origin/HEAD
remotes/origin/master
remotes/origin/v1.0-stable
remotes/origin/experimental
remotes/win32/master
remotes/win32/new-widgets
在这一点上,事情变得非常疯狂,所以运行gitk
看看发生了什么:
$ gitk --all &
如果您想要一次获取多个远程分支,请执行以下操作:
$ git pull --all
现在,您可以根据需要签出任何分支,而无需点击远程存储库。
这Bash脚本帮助我:
#!/bin/bash
for branch in $(git branch --all | grep '^s*remotes' | egrep --invert-match '(:?HEAD|master)$'); do
git branch --track "${branch##*/}" "$branch"
done
它会创建除master以外的所有远程分支的跟踪分支(您可能从原始克隆命令中获得)。 我想你可能还需要做一个
git fetch --all
git pull --all
为了确定。
一个班轮 : git branch -a | grep -v HEAD | perl -ne 'chomp($_); s|^*?s*||; if (m|(.+)/(.+)| && not $d{$2}) {print qq(git branch --track $2 $1/$2n)} else {$d{$_}=1}' | csh -xfs
git branch -a | grep -v HEAD | perl -ne 'chomp($_); s|^*?s*||; if (m|(.+)/(.+)| && not $d{$2}) {print qq(git branch --track $2 $1/$2n)} else {$d{$_}=1}' | csh -xfs
git branch -a | grep -v HEAD | perl -ne 'chomp($_); s|^*?s*||; if (m|(.+)/(.+)| && not $d{$2}) {print qq(git branch --track $2 $1/$2n)} else {$d{$_}=1}' | csh -xfs
像往常一样:在复制rm -rf universe之前,在您的设置中进行测试,因为我们知道它
单线的信用转到用户cfi
链接地址: http://www.djcxy.com/p/73.html