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)