我尝试设置一个usb-hdd作为我所有本地回购的移动版本。我使用的所有内容都不在线,现在不共享。所以唯一的合作者就是我。 因此,我们的目标是保存我的整个进度,并将其从其他机器上的USB克隆。重要的部分是,所有的标签和特别是分支都被推,拉。我并不是真的想为每个分支手动做些事情。 现在我克隆我的回购使用Git:从裸露的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
没有改变,它没有设置本地分支。整个问题甚至会将所有的远程分支机构设置为本地分支机构。我真的想开始,我离开的地方。然而
@mike请升级到最新的git:http://apple.stackexchange.com/a/127073 – VonC 2014-09-04 11:17:35
正如这里所述:http://stackoverflow.com/questions/67699/how-to-clone-all- remote-branches-with-git?rq = 1 没有原生的方式。如果有人发现更好的工作流程,请回答我。 到目前为止,脚本的方式起作用,就像建议的那样。 – mike 2014-09-04 12:26:56