git批量pull_Git批量拉取

最近发现我的 git 仓库越来越多了!因为很多仓库都是开源组织维护的,还有一些是资源库,用来多台机器共享使用的,因此需要经常保持最新。由于一个个拉太浪费时间了,所以需要一个批量拉取这些 git 仓库的工具。在网上找了一圈,找到一个 python 写的开源工具 gitup,看介绍挺满足我的需要,但是在 win7 下测试总是卡死,无法运行,只能放弃。于是决定自己写一个,最初是用 bash 来写,后来发现 git bash 内部模拟了 linux 环境,因此决定用熟悉的 shell 脚本来写。

一、git 仓库整理

我首先将我的 git 仓库做了一次整理,将其放置到了同一个目录,并按照仓库来源进行了分类,之前的 git 仓库东一个西一个,东西多了很不好找。整理了以后看起来舒服多了,效果如下:

D:\01_git

├─github

│ ├─bjddd192.github.io

│ ├─dongchuan.github.io

│ ├─gaohaoyang.github.io

│ └─mritd.github.io

├─gitlab

│ ├─eyd-om-docker

│ ├─eyd-om-docker.wiki

│ ├─eyd-om-private

│ ├─eyd-om-private.wiki

│ ├─eyd-om-resources

│ └─eyd-om-resources.wiki

└─oschina

├─doc

└─shell

二、git_pull_all.sh

不废话,直接上脚本:

#!/bin/bash

# 获取 git 仓库路径

find `pwd` -type d -name ".git" > git_dir.txt

sed -i "s/\/.git/\//g" git_dir.txt

# 循环文件中的路径拉取数据

while read LINE

do

echo $LINE

cd "$LINE"

git pull

done < git_dir.txt

将此脚本放置在根目录(如:D:\01_git)下,然后在 git bash 中执行即可实现批量拉取功能。

三、注意事项

这里放置的 git 仓库都要是可以免密获取的,如使用 ssh 协议或者 https 的公共仓库。

转载请注明出处,本文采用 CC4.0 协议授权,版权归 ん乖乖龙ん 所有。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值