问题

假设我有A、B两个github账号,如果我想将A的某个仓库转移到B,同时保留提交记录和所有分支,如果不使用官方的git clone,那么如何实现呢?

解决办法:

这里假设你的remote都是origin,同时已经在B上新建了一个同名的空的仓库:
git clone –mirror  <url_of_old_repo>
cd <name_of_old_repo>
此时目录结构如下:
git remote rm origin
git remote add origin <url_of_new_repo>
git push origin –mirror
总结:
网上有使用git checkout,先在本地把所有远程分支拉下来,然后再git push –all origin。但是要是分支很多,一个个拉分支,除非写成脚本,否则手动操作太麻烦了。
参考:

 

 

 

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.