如何下载git所有的分支,有没有现成的脚本?

2013-10-08 13:01:25 +08:00
 tangzs
比如服务器上,一个 repo 有 master, dev, test, release 等多个分支,
默认情况下只会下载 master 分支,要checkout到其它才触发下载,
如果一次性下载所有分支到本地,以方便离线工作,谢谢哈!
5916 次点击
所在节点    Linux
7 条回复
pythoner
2013-10-08 13:09:37 +08:00
git fetch --all
jianghu52
2013-10-08 13:36:37 +08:00
我最笨的方式是下载所有包。包括.git包。这样就有所有的版本了。^_^
Jeremial
2013-10-08 16:04:40 +08:00
据我所知,clone一次就会把整个remote仓库的信息全部download下来,只是默认会切换到master分支.

如果是clone完毕的话,即使在离线的情况下,也可以使用 checkout -t origin/<branch> 来切换到远程分支.
entertainyou
2013-10-08 16:29:40 +08:00
try

git branch -a | grep origin | grep -v HEAD | while read rb;do lb=$(echo ${rb} | cut -d/ -f 3-);git checkout -b $lb $rb;done
tangqiaoboy
2013-10-08 21:50:45 +08:00
1楼正解,get fetch --all
tangzs
2013-10-14 11:12:38 +08:00
用以下脚本解决:

for branch in `git branch -a | sed -n '\=/HEAD$=d; \=/master$=d;s= remotes/==p'`; do
git branch --track ${branch##*/} $branch
done
tangzs
2013-10-14 11:13:42 +08:00

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/84842

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX