git获取所有branch_Git 推送本地所有分支和拉取远程所有分支

本文介绍了如何使用Git推送本地所有分支到远程仓库,并详细阐述了如何通过`git clone --mirror`配合后续操作一次性拉取远程所有分支到本地。首先在远程服务器上创建bare仓库,然后使用`git remote add origin`添加远程路径,最后执行`git push --all origin`推送本地分支。对于拉取所有远程分支,需要使用`git clone --mirror`,然后进入目录取消bare属性。
摘要由CSDN通过智能技术生成

首先设置好远程Git Server的ssh证书登录,假设用户名是git,远程服务器Host设置为nas (具体设置参考上述博文)

1. 推送本地所有分支

首先在远程服务器上初始化一个bare仓库,

$ sudo git init --bare smartlight.git

输入密码就可以看到初始化信息?

[sudo] password for git:

Initialized empty Git repository in /mnt/f/gitRepo/smartlight.git/

本地仓库添加remote路径

git remote add origin ssh://git@nas/mnt/f/gitRepo/smartlight.git

然后使用git push --all origin 推送

$ git push --all origin

即可以看到类似下面的信息

Counting objects: 232, done.

Delta compression using up to 4 threads.

Compressing objects: 100% (214/214), done.

Writing objects: 100% (232/232), 8.08 MiB | 2.08 MiB/s, done.

Total 232 (delta 37), reused 0 (delta 0)

remote: Resolving deltas: 100% (37/37), done.

To ssh://nas/mnt/f/gitRepo/Smartlight.git

* [new branch] master -> master

2. 拉取远程所有分支

注意,简单使用git clone ,git fetch --all, git pull --all 都不能全部一次获取远程的所有分支,他们都只对master分支起作用,所以一次性拉取所有远程分支到本地应该使用 git clone的--mirror参数,但是这样会把它初始化为一个bare仓库,所以需要去掉这个属性 , 依次输入以下三个命令即可:

>git clone --mirror ssh://git@nas/mnt/f/gitRepo/smartlight.git

>cd smartlight.git

>git config --bool core.bare false

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值