Ejecutar el comando git clone [email protected]:whatever
crea un directorio en mi carpeta actual llamado whatever
, y coloca el contenido del repositorio de Git en esa carpeta:
/httpdocs/whatever/public
Mi problema es que necesito el contenido del repositorio de Git clonado en mi directorio actual para que aparezca en la ubicación adecuada para el servidor web:
/httpdocs/public
Sé cómo mover los archivos después de haber clonado el repositorio, pero esto parece romper Git, y me gustaría poder actualizar simplemente llamando git pull
. ¿Cómo puedo hacer esto?
git
repository
git-clone
David Smith
fuente
fuente
Respuestas:
Opcion A:
Ergo, para
right here
uso:Opcion B:
Mueve la
.git
carpeta también. Tenga en cuenta que la.git
carpeta está oculta en la mayoría de los exploradores de archivos gráficos, así que asegúrese de mostrar los archivos ocultos.La primera línea toma todos los archivos normales, la segunda línea toma los archivos de puntos. También es posible hacerlo en una línea habilitando dotglob (es decir
shopt -s dotglob
), pero esa es probablemente una mala solución si hace la pregunta que responde esta respuesta.Mejor todavía:
Mantenga su copia de trabajo en otro lugar y cree un enlace simbólico. Me gusta esto:
Para usted, esto sería algo como:
Que fácilmente se puede cambiar para probar si lo desea, es decir:
sin mover archivos. Se agrega
-fn
en caso de que alguien esté copiando estas líneas (-f
es forzado,-n
evite algunas interacciones a menudo no deseadas con enlaces ya existentes y no existentes).Si solo quieres que funcione, usa la Opción A, si alguien más va a ver lo que has hecho, usa la Opción C.
fuente
ln -s path/to/.git path/to/working/directory
El ejemplo que creo que mucha gente hace esta pregunta es este. Si está en el directorio en el que desea volcar el contenido del repositorio git, ejecute:
Los "." al final especifica la carpeta actual como la carpeta de pago.
fuente
ls -a
mostrará todos los archivos, incluidos los ocultos.Vaya a la carpeta. Si la carpeta está vacía, entonces:
más
fuente
switch -t
encendido no se muestra claramente en la documentación de pago de git .Clonación básica del repositorio de Git
Clonas un repositorio con
Por ejemplo, si desea clonar la biblioteca Git de Marco Abierto de Drupal de la Universidad de Stanford llamada open_framework, puede hacerlo así:
Eso crea un directorio llamado open_framework (en su ubicación actual del sistema de archivos local), inicializa un directorio .git dentro de él, extrae todos los datos para ese repositorio y comprueba una copia de trabajo de la última versión. Si ingresa al directorio open_framework recién creado, verá los archivos del proyecto allí, listos para trabajar o usar.
Clonación de un repositorio en una carpeta local específica
Si desea clonar el repositorio en un directorio llamado algo diferente a open_framework, puede especificarlo como la siguiente opción de línea de comandos:
Ese comando hace lo mismo que el anterior, pero el directorio de destino se llama mynewtheme.
Git tiene varios protocolos de transferencia diferentes que puedes usar. El ejemplo anterior usa el protocolo git: //, pero también puede ver http (s): // o user @ server: /path.git, que usa el protocolo de transferencia SSH.
fuente
Para clonar el repositorio de git en una carpeta específica, puede usar el
-C <path>
parámetro, por ejemploAunque seguirá creando una
whatever
carpeta encima, para clonar el contenido del repositorio en el directorio actual, use la siguiente sintaxis:Tenga en cuenta que la clonación en un directorio existente solo se permite cuando el directorio está vacío .
Como está clonando en una carpeta que es accesible para el público, considere separar su repositorio Git de su árbol de trabajo utilizando
--separate-git-dir=<git dir>
o excluyendo la.git
carpeta en la configuración de su servidor web (por ejemplo, en el.htaccess
archivo).fuente
Para clonar al presente directorio de trabajo :
Para clonar a otro directorio :
Espero eso ayude :)
fuente
./
al principio del camino a la carpetaCuando mueve los archivos a donde los quiere, ¿también está moviendo el
.git
directorio? Dependiendo de su sistema operativo y configuración, este directorio puede estar oculto.Contiene el repositorio y los archivos de soporte, mientras que los archivos de proyecto que están en su
/public
directorio son solo las versiones en el commit de verificación actual (rama maestra por defecto).fuente
Clon:
Clonar la "rama específica":
fuente
Si desea clonar en la carpeta actual, debe intentar esto:
fuente
Uso
Clone el repositorio ubicado en el <repository> en la máquina local. El repositorio original se puede ubicar en el sistema de archivos local o en una máquina remota accesible a través de HTTP o SSH.
Clone el repositorio ubicado en <repository> en la carpeta llamada <directory> en la máquina local.
Fuente: configuración de un repositorio
fuente
Asegúrese de eliminar el repositorio .git si está tratando de verificar algo en el directorio actual.
rm -rf .git
entoncesgit clone https://github.com/symfony/symfony-sandbox.git
fuente
Así es como lo haría, pero he creado un alias para hacerlo por mí.
Probablemente hay una forma más elegante de hacer esto, sin embargo, me pareció más fácil para mí.
Aquí está el alias que creé para acelerar las cosas. Lo hice para zsh, pero debería funcionar bien para bash o cualquier otro shell como fish, xyzsh, fizsh, etc.
Edite
~/.zshrc
,/.bashrc
etc. con su editor favorito (el mío es Leafpad, así que escribiría$ leafpad ~/.zshrc
).Sin embargo, mi preferencia personal es crear un complemento zsh para realizar un seguimiento de todos mis alias. Puede crear un complemento personal para oh-my-zsh ejecutando estos comandos:
Luego, agregue estas líneas a su archivo en blanco alises.plugin recién creado:
(A partir de aquí, reemplace su nombre con el mío).
Luego, para que los alias funcionen, ellos (junto con zsh) deben ser adquiridos (o como se llame). Para hacerlo, dentro de su documento de complemento personalizado agregue esto:
Guarde su complemento oh-my-zsh y ejecútelo
allsource
. Si eso no parece funcionar, simplemente corresource $ZSH/oh-my-zsh.sh; source /home/ev/.oh-my-zsh/plugins/ev-aliases/ev-aliases.plugin.zsh
. Eso cargará la fuente del complemento que le permitirá usarallsource
de ahora en adelante.Estoy en el proceso de hacer un repositorio Git con todos mis alias. No dude en consultarlos aquí: los archivos de puntos de Ev . No dude en bifurcar y mejorarlos para satisfacer sus necesidades.
fuente
Si está utilizando
ssh
paragit cloning
, puede utilizar el siguiente comando.git -C path clone [email protected]:path_to_repo.git
por ejemplo:
git -C /home/ubuntu/ clone [email protected]:kennethreitz/requests.git
tiraría del repositorio de gitrequests
a su/home/ubuntu/
ruta.fuente
Por alguna razón, esta sintaxis no se destaca:
git clone repo-url [folder]
Aquí la carpeta es una ruta opcional a la carpeta local (que será un repositorio local).
Git
clone
tambiénpull
codificará desde el repositorio remoto al repositorio local. De hecho es cierto:fuente
Aunque todas las respuestas anteriores son buenas, me gustaría proponer un nuevo método en lugar de utilizar el método de enlace simbólico en el directorio html público como se propone MEJOR en la respuesta aceptada. Debe tener acceso a las configuraciones de host virtual de su servidor.
Se trata de configurar el host virtual de su servidor web directamente apuntando al directorio del repositorio. En Apache puedes hacerlo como:
Aquí hay un ejemplo de un archivo host virtual:
fuente
Puede usar el siguiente comando git para clonar con un nombre de directorio personalizado
Nota: No necesita crear su directorio personalizado porque se creará automáticamente
fuente
fuente
Con respecto a esta línea de la publicación original:
Puedo hacer eso y hasta ahora no veo ningún problema con mis operaciones de agregar, confirmar, empujar, tirar.
Este enfoque se indicó anteriormente, pero no se desglosa en pasos. Aquí están los pasos que funcionan para mí:
La carpeta existente en la que acaba de copiar los archivos ahora está lista para interactuar con git.
fuente