Manual para traer un Repositorio de GITHUB a tu ordenador local.
- CREADO POR: miguelajsmaps@gmail.com en https://github.com/Miguel-J/eneboo/wiki (YA NO EXISTE)
- FECHA PRIMERA EDICIÓN:
- EDITADO POR: miguelajsmaps@gmail.com en http://manuales-eneboo-pineboo.org/github-como-instalarlo-y-usarlo/
- ULTIMA ACTUALIZACIÓN:Last updated: enero 8, 2021 at 20:04 pm
GITHUB COMO INSTALARLO Y USARLO
Indice:
- COMO COPIAR EL GITHUB EN EL ORDENADOR DE CASA
- CÓMO COORDINAR LA COPIA LOCAL Y LA DEL WEB GITHUB:
- CÓMO SINCRONIZAR TU GITHUB CON OTRO GITHUB:
- COMO CREAR SUBDIRECTORIOS DESDE LA WEB
- COMO SUBIR IMAGENES DE SUBCARPETA AL GITHUB:
Haz clic aquí para volver al índice
COMO COPIAR EL GITHUB EN EL ORDENADOR DE CASA
En 2016 había DOS opciones (y eran independientes entre sí):
- Github Desktop (es un poco confuso….para expertos…)
- Git Shell (mejor éste…?…lo han cambiado desde 2016???)
- desde 2019 lo mejor es el PowerShell…seguir aquí
Para el Github Desktop (entorno gráfico, es confuso):
- Para descargar el programa en windows ir a https://desktop.github.com/ para instalarlo.
- Entonces le das al botón central y empieza a DESCARGAR un ejecutable…GitHubDesktopSetup.exe
- Aceptas el ejecutable y se instala.
- (NOTA: EN 2019 ÉSTO YA NO EXISTE) Se abre un programa y en la columna de la derecha le das a «CLONE IN DESKTOP«…y eliges un directorio de trabajo en el ordenador local …en mi caso: C:\Github\
- (NOTA: EN 2019 ÉSTO YA NO EXISTE) Otra opción….cuando estás en una página de github, ARRIBA-DERECHA hay un botón VERDE que pone «CLONE IN DESKTOP«.
Para el Git Shell (también es confuso, «parece» una copia del CMD…sin las «ayudas»):
- Para descargar el programa en windows ir a https://git-scm.com/downloads
- Eliges la opción de «windows» y descarga el archivo Git-2.19.1-64-bit.exe
- Lo ejecutas y se instala…..??????….qué demonios??????….esto qué és?????…pide un montón de opciones…
- ….vaale, hay que usar el «Git-CMD» (los otros no sé para qué sirven: Git-Bash o Git-GUI …Graphic-User-Interface???)
Para el PowerShell con «ayudas»:
- …uhm…el mejor para mi es el de PowerShell, lo que pasa es que lo han cambiado:
- y creo que es en las opciones de instalación dónde hay que «ajustarlo»:
- «One thing to note is that if you launch PowerShell via some other means other than our Git Shell shortcut or the Desktop application, our version of Git won’t be there. That’s because we install a portable version of Git that does not change any of your system settings.»
- …si desde el «Github Desktop» llamo al «Git Shell» vía «menú-Repository-Open in Power Shell», me dice que no tiene «Git» instalado (lo que es mentira)….lo soluciono poniendo en el «Path» de Windows el «C:\Program Files\Git\bin«…no hace falta reiniciar en Windows 10
- Ahora funciona el enlace, pero no la «estética«…pruebo con esto:
- …pues toca editar:
«Si usted ha instalado Github para Windows, Posh-Git se encuentra incluído» (pues no).
- Todo lo que tiene que hacer es añadir estas lineas a su
Microsoft.PowerShell_profile.ps1
(El cual se encuentra usualmente enC:\Users\<username>\Documents\ WindowsPowerShell
) (NOTA…no hay que añadir esto porque lo hace posh-git en los pasos siguientes, borrarlos después):12. (Resolve-Path "$env:LOCALAPPDATA\GitHub\shell.ps1"). $env:github_posh_git\profile.example.ps1 - …el problema es que NO ENCUENTRO ESE ARCHIVO…hay que crearlo:
- a ver si asi: https://www.computerperformance.co.uk/ powershell/profile-ps1/
- …según eso hay que hacerlo desde el mismo PowerShell :
- Primero arrancamos el programa.
- luego probamos si existe profile:
Test-Path $Profile
…si devuelve «False«… - hay que crearlo:
New-Item -path $profile -type file -force
- …con esto crea el archivo «Microsoft.PowerShell_profile.ps1» en «C:\Users\usuario\Documents\ WindowsPowerShell«…pero está vacío…
- primero editamos «Microsoft.PowerShell_profile.ps1» y añadimos (esto al final lo borraremos):
-
12. (Resolve-Path "$env:LOCALAPPDATA\GitHub\shell.ps1"). $env:github_posh_git\profile.example.ps1
-
- …lo probamos y da error: «la ejecución de scripts está deshabilitada en este sistema.«
- ahora de error porque no existe shell.ps1
- hay que descargar este github: https://github.com/dahlbyk/posh-git
- y descomprimirla en el directorio
WindowsPowershell
. Luego abrir un prompt de Powershell como administrador y ejecutar por separado los siguientes comandos:
1 2 3 4 |
(1) > Set-ExecutionPolicy RemoteSigned -Scope CurrentUser -Confirm (2) > cd ~\Documents\WindowsPowerShell\posh-git (3) > .\install.ps1 |
Esto hace:
- (1) autorizará los scripts al usuario actual,
- (2) cambiará al directorio posh-git
- y (3) ejecutará «install.ps1», que añadirá la línea correspondiente a su archivo
profile.ps1
y posh-git estará activo la próxima vez que habra su prompt. - (NOTA: Si se revierten los permisos no funcionará posh-git)
- Finalmente, el archivo «Microsoft.PowerShell_profile.ps1» queda así:
cd C:\Github
Import-Module 'C:\Users\usuario\Documents\ WindowsPowerShell\posh-git\src\posh-git.psd1'
- Ahora…Habrá que identificarse….?
- Primero hay que decirle al programa quien somos…:
- NOTA: este paso sólo se hace la primera vez que usas el github…
- «git config user.mail «miguelajsmaps@gmail.com» «(o la cuenta email de cada uno)
- «git config user.name «Miguel-J» «(o el nombre de usuario de cada uno)
- Ahora hay que ver si hay llave SSH generada:
- La ssh key se utiliza para establecer una conexión segura entre Github y tu ordenador. Partimos de la base que no tenemos ninguna llave generada. Si queréis comprobarlo escribid lo siguiente en el terminal:
Código:
cd ~/.ssh
ls
- Si tenemos alguna llave generada tendría que aparecer alguno de estos dos archivos.
- Código: id_rsa.pub
- Código: id_dsa.pub
- en caso q no esté lo generamos:
ssh-keygen -t rsa -C "your_email@example.com"
- C:\GitHub>ssh-keygen -t rsa -C «miguelajsmaps@gmail.com»
Generating public/private rsa key pair.
Enter file in which to save the key (C:\Users\usuario/.ssh/id_rsa):
Created directory ‘C:\Users\usuario/.ssh’.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in C:\Users\usuario/.ssh/id_rsa.
Your public key has been saved in C:\Users\usuario/.ssh/id_rsa.pub.
The key fingerprint is:
xxxxxxxxxxx xxxxxxxxxxxxx xxxxxxxxxxxx miguelajsmaps@gmail.com
The key’s randomart image is:
+—[RSA 2048]—-+
| xxxxxxx|
| xxxxxxx|
| xxxxxxx|
+—-[SHA256]—–+C:\GitHub>
- Si tenemos alguna llave generada tendría que aparecer alguno de estos dos archivos.
- La ssh key se utiliza para establecer una conexión segura entre Github y tu ordenador. Partimos de la base que no tenemos ninguna llave generada. Si queréis comprobarlo escribid lo siguiente en el terminal:
- …no funciona como antes…
- Vas ARRIBA-DERECHA a la rueda dentada y le das a «OPEN IN GIT SHELL«, entonces se abre una ventana parecida al MSDOS de windows con unas letras en colores entre corchetes…
- Escribes: «git clone https://github.com/ (y aqui el nombre de la carpeta-repositorio a copiar)»
- NOTA: Para COPIAR-Y-PEGAR en la consola GIT-SHELL NO VALE el Ctrl+V, hay que hacerlo con el ratón (botón derecho)
- Ejemplos:
1 2 3 4 5 6 |
git clone https://github.com/Miguel-J/eneboo (este almacén-repositorio (pero sin el wiki) con las imágenes) git clone https://github.com/Miguel-J/eneboo.wiki (este wiki) git clone https://github.com/Miguel-J (ESTO NO ES UN REPOSITORIO, al ser sólo una "carpeta con repositorios" NO los reconoce...) git clone https://github.com/Miguel-J/eneboo-features (al ser un "branch" del de "klo-manolo" (el repositorio + actualizado) se descarga lo que había en el día que se hizo la "copia-branch"...) |
- …y al darle a ENTER lo pone como subdirectorio en el directorio de descargas elegido…
-
- NOTA: No poner «:» en los nombres de las páginas o no se descargan bien…
Haz clic aquí para volver al índice
CÓMO COORDINAR LA COPIA LOCAL Y LA DEL WEB GITHUB:
- Vas ARRIBA-DERECHA a la rueda dentada y le das a «OPEN IN GIT SHELL», entonces se abre una ventana parecida al MSDOS de windows con unas letras en colores entre corchetes…
-
- Para «TRAER» a la copia local los cambios de la copia-«master» del servidor github ponemos:
- NOTA: No se por qué no me deja hacerlo si el contenido en local es distinto, dice no-se-que del «.gitattribute», por lo que lo que hago es borrar el directorio local y hacer un «clone»…
- OJO: El PULL hay que hacerlo DESDE EL DIRECTORIO DONDE QUIERES QUE DESCARGUE los archivos….si no es donde estás poner «cd (subdirectorio)» hasta situarse en el correcto…sin los parentesis.
1 2 3 4 5 6 7 8 9 10 |
git pull https://github.com/Miguel-J/eneboo-features-oficial git pull https://github.com/eneboo/eneboo-modules (módulos básicos más actuales) git pull https://github.com/Miguel-J/eneboo-features (extensiones básicas Miguel-J-asociadas al de KLO) git pull https://github.com/klo-manolo/eneboo-features (extensiones básicas KLO-antes las más actualizadas) git pull https://github.com/Miguel-J/ext-abanq-eneboo (extensiones de Albujer para AbanQ adaptadas a Eneboo) git pull https://github.com/eneboo/eneboo-features (estamos agrupando los desarrollos en éste) git pull https://github.com/Miguel-J/pineboo git pull https://github.com/Aulla/pineboo (más actualizado) |
- Para «SUBIR» la copia local MODIFICADA a la copia-«master» del servidor github ponemos:
- OJO: ANTES de hacer un PUSH es mejor hacer un PULL, porque si detecta que las partes del «master» del servidor que NO ACTUALIZAS son distintas a lo que tienes en el «local», no te dejará subir nada…
- OJO: El PUSH hay que hacerlo DESDE EL DIRECTORIO DONDE QUIERES QUE COPIE los archivos….si no es donde estás poner «cd (subdirectorio)» hasta situarse en el correcto…sin los parentesis.
-
- Primero hay que decirle al programa quien somos…:
-
- este paso sólo se hace la primera vez que usas el github…
-
- «git config user.mail «miguelajsmaps@gmail.com» «(o la cuenta email de cada uno)
- Primero hay que decirle al programa quien somos…:
- «git config user.name «Miguel-J» «(o el nombre de usuario de cada uno)
- OPCIONAL: ver si hay llave SSH generada:
- La ssh key se utiliza para establecer una conexión segura entre Github y tu ordenador. Partimos de la base que no tenemos ninguna llave generada. Si queréis comprobarlo escribid lo siguiente en el terminal:
Código:
cd ~/.ssh
ls
- Si tenemos alguna llave generada tendría que aparecer alguno de estos dos archivos.
- Código: id_rsa.pub
- Código: id_dsa.pub
- en caso q no esté lo generamos:
ssh-keygen -t rsa -C "your_email@example.com"
- luego hay que decirle que hemos cambiado cosas de los archivos…:
- «git add (nombre del archivo)» (para cada archivo nuevo)
- ejemplo: «C:\Users\portatil\Documents\ GitHub\eneboo-manual\eneboo.wiki [master +6 0 0 1] git add EnebooTools.md»
- NOTA: NO olvidarse de la extensión «.md»
- SI NO QUIERES PONER LOS NOMBRES DE ARCHIVO O HAY VARIOS: «git add .«
- «git add (nombre del archivo)» (para cada archivo nuevo)
- ahora empaquetamos esos cambios con «git commit -a»
- se puede hacer esto sin el «git add» pero sólo si no hemos creado ningún archivo, en ese caso hay que hacer ANTES un «git add …» o un «git add .»
- ejemplo:«C:\Users\portatil\Documents\ GitHub\eneboo-manual\eneboo.wiki [master +6 0 0 1] git commit -a»
- NOTA: se abre una ventana de texto para poner una explicación del cambio que «subes»….no se puede dejar en blanco….al acabar cerrarla y decirle que SI a grabar (lo hace en un dir. temporal que luego borra)
- y ahora hay que decirle que SUBA esos cambios:
123456git push https://github.com/Miguel-J/eneboo mastergit push https://github.com/Miguel-J/eneboo.wiki mastergit push https://github.com/Miguel-J/eneboo-features mastergit push https://github.com/Miguel-J/ext-abanq-eneboo master- OJO: hay que añadir esa palabra «master» al final de la dirección para indicarle que el que manda es el del servidor…
- Habrá que poner el USUARIO y PASSWORD de la cuenta propia en el GITHUB
Haz clic aquí para volver al índice
CÓMO SINCRONIZAR TU GITHUB CON OTRO GITHUB:
CASO 1- en el caso de ser un repositorio BRANCH de otro y querer actualizar los cambios (o SUBIR) HACIA repositorio «padre»:
- vas a la página web de TU Github,
- le das al BOTÓN VERDE que hay al lado del repositorio de tu página (a media altura-izquierda, con forma de «S»),
- ..entonces te lleva a la página-github del repositorio «padre» (una especie de «página-comparativa»),
- le das al BOTÓN ENVIAR PULL REQUEST (PR),
- se abre una ventana por si quieres añadir algún comentario extra, la cierras y le das a aceptar el P R…LISTO!
- cuando el responsable del repositorio master acepta los cambios (hace un CLOSE PR (pull request)), recibes un e-mail de confirmación, tal que asi:
123456789`On Fri, 11/27/15, klo-manolo <notifications@github.com> wrote:``Subject: Re: [eneboo-features] Ajuste de flfactinfo para que aparezca el "informe de ventas" en el m… (#23)``To: "klo-manolo/eneboo-features" <eneboo-features@noreply.github.com>``Date: Friday, November 27, 2015, 8:20 AM``Merged #23.``—``Reply to this email directly or view it on GitHub.`
CASO 2- en el caso de ser un repositorio BRANCH de otro y querer actualizar los cambios (o BAJAR) DESDE repositorio «padre»:
- a DIA DE HOY NO HE AVERIGUADO CÓMO SE HACE «ON-LINE»…es más práctico desde el «Git Shell» de tu ordenador local:
- primero hacemos un «pull» del máster-padre:
- «git pull https://github.com/klo-manolo/eneboo-features»
- y luego haces un «push» hacia tu «branch» en github:
- «git push https://github.com/Miguel-J/eneboo-features master»
- recordar que en el caso de que haya cambios en tu github on-line tienes que bajarlos primero:
- «git pull https://github.com/Miguel-J/eneboo-features»
Haz clic aquí para volver al índice
COMO CREAR SUBDIRECTORIOS DESDE LA WEB
- Simplemente al crear una página nueva añadir delante del nombre el nombre del subdirectorio: «/imagen/prueba»
Haz clic aquí para volver al índice
COMO SUBIR IMAGENES DE SUBCARPETA AL GITHUB:
- Primero haces un «pull» para bajar todos los cambios de internet:
c:\Users\yo\Documents\ GitHub\eneboo-manual\eneboo>
- «git pull https://github.com/Miguel-J/eneboo» (sin el wiki)
- …luego mueves el subdirectorio en el ordenador local…
- …luego hay que ir justo encima del subdirectorio (con cd subdirectorio)…
c:\Users\yo\Documents\ GitHub\eneboo-manual\eneboo\imagen>
- …luego hacer un «git add (nombre subdirectorio) desde su raíz…(en este caso sin extensión)…
- …luego haces un «git commit -a» (añadir algo de descripción y cerrar grabando)…
- …luego hacer un «push»:
- «git push https://github.com/Miguel-J/eneboo master»
- NOTA: misteriosamente conserva el orden de subdirectorios del local….
Haz clic aquí para volver al índice