Vamos a detallar como clonar un repositorio a otro servidor. En nuestro ejemplo, el repositorio se encuentra en GitHUB y lo clonaremos a un servidor local, manteniendo todos los push, fechas y anotaciones.

En el servidor local hay que crear un repositorio vacĂ­o en el directorio donde tiene acceso el usuario git local:

cd /home/git/
git init --bare NombreRepositorio
cd NombreRepositorio.git/
git config --global user.name "git-svr"
git config --global user.email "[email protected]"
git init --bare --shared=group 
git config receive.denyCurrentBranch ignore

Es un ordenador intermedio, vamos a clonar el repositorio de GitHUB, lo modificaremos y lo subiremos al nuevo server:

git clone --mirror [email protected]:UsuarioGitHUB/NombreRepositorio.git
cd NombreRepositorio.git/
git remote add NombreRepositorio ssh://[email protected]:2222/home/git/NombreRepositorio.git
git push -f --tags NombreRepositorio refs/heads/*:refs/heads/*