github.com clone cache
use git http protocol to proxy git clone.
When the local cache does not exist, the clone request is redirected to github.com, and the mirror is created at same time(delay 10 seconds), and it is cloned the next time, then clone from the local mirror .
new support branch (git clone -b branchname)
#download golang,use normal user,don't use sudo
curl -O https://dl.google.com/go/go1.14.linux-amd64.tar.gz
tar -xvf go1.14.linux-amd64.tar.gz
## install golang
sudo rm -fr /usr/local/go
sudo mv go /usr/local
mkdir goApps
## init environment variable
echo "export GOPATH=~/goApps" >> ~/.profile
echo "export PATH=\$PATH:/usr/local/go/bin" >> ~/.profile
echo "export PATH=\$PATH:\$GOPATH/bin" >> ~/.profile
## apply variable
source ~/.profile
if you use windows,download from https://golang.google.cn/dl/ and install.
#clone
git clone https://github.com/git-cloner/gitcache
cd gitcache
#linux
export GO111MODULE=on
export GOPROXY=https://goproxy.cn
#windows
set GO111MODULE=on
set GOPROXY=https://goproxy.io
#build
go build
# -b git cahce base path
#linux
./gitcache -b /var/gitcache
#windows
gitcache -b d:\temp
#important hint
Using HTTPS git remote update is very difficult,so you can use ssh,such as
gitcache -ssh 1 -b /var/gitcache
before use ssh,please config ssh first,and execute
eval $(ssh-agent -s)
ssh-add ~/.ssh/id_rsa
#database support
if using database(mysql) support(Not necessary),please set up environment variable
export MYSQL_DSN=dbuser:password@tcp(IP:3306)/dbname
git clone http://127.0.0.1:5000/github.com/git-cloner/gitcache
git clone http://127.0.0.1:5000/github.com/git-cloner/gitcache -b branch
and please try https://gitclone.com/
you can use cgit client. https://github.com/git-cloner/gitcache/releases/download/v0.1/cgit-release.zip
cgit clone https://github.com/git-cloner/gitcache
use codechain(chain base on tendermint)