¿Cómo sacar un repository git en ubuntu sin connection a internet?

Quiero usar Git en la networking local de nuestra empresa porque no tengo acceso a Internet en mi computadora. Mi amigo tiene una connection a Internet y una máquina ubuntu, envió algunos códigos fuente a Git y tengo que sacarlos sin connection a Internet y también uso ubuntu 14.04. Adicionalmente, configuré un repository con el command:

git init --bare 

EDITAR: Ambas máquinas son ubuntu, disculpa por el malentendido.

Pídale a su amigo que cree un recurso compartido de Windows para el repository de git.

Asegúrese de haber instalado

 apt-get install cifs-utils 

crear un directory de assembly

 $ mkdir ~/my_friends_repo 

montar el recurso compartido remoto usando

 $ sudo mount -t cifs -o username=USERNAME,password=PASSWORD \ //your_friends_ip_or_computer_name/NAME_OF_SHARE ~/my_friends_repo 

Ahora puedes clonarlo

 git clone ~/my_friends_repo my_friends_repo_clone 

o agregarlo a su repository existente como otro repository remoto y extraer sus cambios

 git remote add my_friends_repo ~/my_friends_repo git pull my_friends_repo master 

Además de mi respuesta anterior …

Tu amigo puede usar git daemon en su máquina de Windows para exportar el repository

En la máquina de Windows, haz esto en el git bash

 git daemon --export-all --reuseaddr --verbose --enable=receive-pack --base-path=PATH_TO_THE_REPOSITORY 

En tu máquina ubuntu puedes clonar el repository

 git clone git://your_friends_ip_or_computer_name REPO_CLONE_NAME 

o agregarlo a su repository existente como otro repository remoto y extraer sus cambios

 git remote add my_friends_repo git://your_friends_ip_or_computer_name git pull my_friends_repo master touch git-daemon-export-ok 

Lo esencial

Un repository git no es mucho más que una caja. Puede poner su código en él (commit), puede enviar una copy del contenido a otra casilla (remota) (push), y puede search el contenido de otra caja en su propio cuadro (pull).

Si su amigo envió su contenido a alguna casilla en Internet (como github) y no puede acceder a esa location desde su host, esta casilla no es útil en su caso.

Tienes algunas opciones:

  • Extraiga directamente del repository de sus amigos (la "caja" que usó para enviar a github).
  • Pídale que empuje directamente su repository a su anfitrión.
  • Configure algún repository en algún lugar de su networking. (En este caso, puede presionar a ese repository y luego puede extraerlo).

Solución usando un repository intermedio

Como está utilizando ubuntu que ya viene con ssh, tal vez la solución más fácil es configurar un nuevo usuario en su cuadro y crear un repository vacío allí. Luego tienes un lugar para tirar de un amigo que puede usar ese usuario para enviarlo a ese repository.

Puedes hacer esto así:

 sudo useradd -m gituser # create user sudo -iu gituser git init --bare reponame # create repository sudo passwd gituser # set password for user 

Luego, tu amigo puede presionarlo usando git push gituser@yourhost/reponame . Y puedes get el contenido git clone gituser@yourhost/reponame con git clone gituser@yourhost/reponame .

Solución usando git-daemon

Otra forma es usar git-daemon en el host de tus amigos para servir su repository. En este caso, puede extraer directamente de su host. En windows escriba:

 git daemon --base-path=PATH --export-all 

donde "RUTA" es el directory local que contiene el repository. En ubuntu puedes acceder a ese repository usando

 git clone git://friendshost/reponame 

donde "friendshost" es el nombre de host del host de tus amigos, y "reponame" es el nombre del directory que contiene el repository. Por ejemplo, si el repository está ubicado en "C: \ some \ dir \ repo", entonces "C: \ some \ dir" es la RUTA y "repo" es el nombre de stack.

Depende de dónde haya localizado su amigo su repository git.

Puede especificar la location de orígenes remotos en el file .gitconfig. Vea este enlace para más detalles.

    Intereting Posts