如何将本地 git repo 中的所有远程分支转换为本地跟踪分支

Gre*_*ade 3 git remote-branch

如何将本地git repo中的所有远程分支都转换为本地跟踪分支,而不需要一一检查出来。

您可能想要这样做的一个原因(我想这样做的原因)是这样您就可以获取本地存储库的克隆,并在该新克隆中拥有来自原始远程源的所有分支。

因为“clone”只克隆本地分支。

编辑:已经提供了几个脚本化的答案(为此 - 谢谢!)......我真的希望有一种 in-git 方式,这样它是完全可移植的(我有“仅限 Windows”的用户,所以far 已经幸存下来,而不必使用 bash(git-bash 或其他方式))。

Gre*_*ade 5

这个答案是由 jast 在 freenode 上的 #git 上提供给我的:

git push . refs/remotes/origin/*:refs/heads/*
Run Code Online (Sandbox Code Playgroud)

注意:正如下面的评论中提到的,这不会创建跟踪分支,尽管它至少使本地存储库中的分支成为“本地”并注意“远程”。