我尝试将usb-hdd设置为我所有本地回购的移动版本。我使用的一切都不在线,现在还没有分享。所以唯一的合作者就是我。 所以我的目标是保存我的整个进度并将其从usb上克隆到其他机器上。重要的是,所有的标签,特别是分支被推,拉,以及。而且我真的不想手动为每个分支做些什么。 到现在为止,我使用
克隆了我的回购$ cd /Volumes/usb
$ git clone --mirror /path/to/working/repo
现在我想从裸露的东西(据我所知,镜子暗示裸露)回购。 所以我去另一台机器/文件夹做一个
$ git clone file:///Volumes/usb/repo.git
并在本地克隆主分支,我得到一个工作目录。然而,所有其他分支只是在遥控器(裸USB回购)上,并没有被拉。
如果我使用git branch -r
我可以在遥控器上看到所有这些,但拉动不会做任何事情。
$ git br -a
* devel
remotes/origin/HEAD -> origin/devel
remotes/origin/devel
remotes/origin/master
$ git pull origin master
From /test/repo
* branch master -> FETCH_HEAD
Already up-to-date.
$ git br -a
* devel
remotes/origin/HEAD -> origin/devel
remotes/origin/devel
remotes/origin/master
没有任何改变,也没有设置本地分支。重点甚至是将所有远程分支设置为本地分支。我真的想开始,我离开的地方。
答案 0 :(得分:1)
然而,所有其他分支机构都只是在遥控器(裸USB回购)上而且没有被拉动
他们被拉了。
你看到它们,而不是"远程",但是在命名空间原点的本地仓库中。
如果您真的想将这些远程跟踪分支作为分支,请参阅我在" git pull all branches from remote repository"
使用的onle-liner$ remote=origin ; for brname in `git branch -r | grep $remote | grep -v master | grep -v HEAD | awk '{gsub(/[^\/]+\//,"",$1); print $1}'`; do git branch -t $brname $remote/$brname ; done
一旦所有本地分支机构都在跟踪远程跟踪分支机构,您仍然需要使用script if you were to pull all branches。