0% encontró este documento útil (0 votos)
22 vistas11 páginas

Github

El documento proporciona una guía completa sobre el uso de Git y GitHub, incluyendo comandos básicos para la gestión de repositorios, configuración de usuario, creación y manejo de ramas, así como la autenticación mediante SSH. También se abordan temas como el uso de git-flow, la instalación de herramientas adicionales y la sincronización entre repositorios. Además, se incluyen ejemplos prácticos y comandos específicos para realizar diversas operaciones en Git.

Cargado por

Luis Angel
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
22 vistas11 páginas

Github

El documento proporciona una guía completa sobre el uso de Git y GitHub, incluyendo comandos básicos para la gestión de repositorios, configuración de usuario, creación y manejo de ramas, así como la autenticación mediante SSH. También se abordan temas como el uso de git-flow, la instalación de herramientas adicionales y la sincronización entre repositorios. Además, se incluyen ejemplos prácticos y comandos específicos para realizar diversas operaciones en Git.

Cargado por

Luis Angel
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Github

ThirtforBep

+1803EAla34712

ls: Da el listado de diretorios

pwd: Te dice dónde andas


mkdir: Crear un directorio → mkdir "Hello Git”

git config --global //Siempre tenemos que configurar todo de manera global
git config --global [Link] "angelbep"

git config --global [Link] "labptop0520@[Link]"


git init //Donde queremos iniciar nuestro historial de versiones (creamos un repositorio
de git)

//Descargar esto
([Link]

sudo apt update


sudo apt install zsh

zsh --version
sh -c "$(curl -fsSL
[Link]

Ya cuando pongas zsh te va a mostrar en que rama andas y así

nano ~/.zshrc //Para cuando queramos cambiar el tema


ZSH_THEME="amuse" ctrl + o y enter

source ~/.zshrc

//Cambiar nombre de la rama master


git branch -m main

//Ver status de cuantas ramas y eso hay

Github 1
git status

//Agregar un archivo a los ficheros

git add [Link]

git add . //Agrega todos los archivos

//Hacer un comentario (siempre se hace un git add y luego el commit)

git commit (ya dependera cómo salir, puede ser :qw o el ctrl + o )

git commit -m "Este es mi primer commit” //Se le asocia un mensaje en corto

///////////////////

git add .
git commit -m "Mensaje del commit"

/////////////

//Para ver el historial a donde apunta el head (si esta apuntando a una pagina antes del
total de cambios, no se verá)

git log //Te dice los commits que han hecho y los autores y la hora

git log —graph

git log —graph —pretty=oneline

git log —graph —decorate —all —oneline

//Para devolver al valor que habia antes de hacer un commit (puede ser el estado que
habia antes de guardar localmente oooo a una version que tenemos entre nuestras
ramas)
git checkout (el nombre de tu archivo en especifico o el historial de version, recuerda
que el de tree es el codigo pa restaurar la que queremos)
git checkout HEAD (ubicar el punto donde estamos como el inicio desde donde
queremos iniciar)
git checkout main/master //Nos da la pagina de donde teniamos todo apuntado en el
master

git cheout tags/tag#(o su nombre)

Github 2
//Para que git te diga que cosas puedes volver a su valor original antes de hacer un
commit

git reset

//Los alias que usamos para simplificar la llamada a ciertos comandos (estos alias se
veran reflejados en nuestra carpeta .gitconfig) el .tree es el nombre que le vamos a
poner
git config --global [Link] "log --graph --decorate --all --oneline"

git tree

//Crear fichero que vamos a ignorar

touch .gitignore

//Ver lo que ha ido cambiando en nuestro codigo

git diff (y la rama que queremos comparar)


git diff //Te dice los cambios que ha habido entre el codigo ya subido al git y el que
ahorita nomas hiciste ctrl + s)

//Volver a una version de nuestro codigo y borrar todo lo que teniamos despues de ese
nuevo punto incial
git reset - - hard (id de nuestra version que queremos, sirve para atras como para
hacia adelante, nomas checa el reflog y lo vuelve nuestro head en ese momento)

//Ver absolutamente todo el historial aunque hayamos hecho el git reset - -hard

git reflog

//Taggear (marcar) todo lo avanzado en un cierto punto

git tag clase_1

//Crear una nueva rama


git branch “Nombre de nuestra nueva rama, la clonada”

//Cambiar a una rama

Github 3
git switch “nombre de la rama a la que quieres cambiar”

//Combinar los datos que queremos de la rama en la que estamos a una rama que
deseamos (puede git merge (ingresas los datos de la rama que quieres los datos)

(si hay conflictos los arreglas y luego haces el add y el commit)

//Guardar temporalmente algun avance y te deja tu rama a como estaba hasta el ultimo
commit o head

git stash //Hace el guardado parcial


git stash list //Ver los guardados temporales pendientes
git stash pop //Te vuelve a poner a como dejaste los cambios

git stash drop //borra el guardado parcial

//”Borrar” la rama
git branch -d (el nombre de la rama que queremos borrar)

Generar claves ssh

[Link]
your-ssh-connection

Github 4
//Hacemos todo esto en powershell con privilegios aumentados

PS C:\WINDOWS\system32> cd ~/.ssh
PS C:\Users\labpt\.ssh> ssh-keygen -t ed25519 -C "
labptop0520@[Link]" //Crear clave
Generating public/private ed25519 key pair.
Enter file in which to save the key (C:\Users\labpt/.ssh/id_ed25519): id_rsa

PS C:\Users\labpt\.ssh> Get-Service -Name ssh-agent | Set-Service -StartupType


Manual
PS C:\Users\labpt\.ssh> Start-Service ssh-agent
PS C:\Users\labpt\.ssh> ssh-add id_rsa

PS C:\Users\labpt\.ssh> cp \\wsl$\Ubuntu\home\angelbep\.ssh\* .
//Cambiamos a zsh
C:\Users\labpt\.ssh>wsl //Evaluamos si hay una conexxion

angelbep@MSI:/mnt/c/Users/labpt/.ssh$ zsh
$ eval "$(ssh-agent -s)"
Agent pid 21781
$ ssh -T git@[Link]
Hi ThirtforBep! You've successfully authenticated, but GitHub does not provide shell
access.

Github 5
//Emparejar con un repositorio de github
git remote add origin [Link]

//Le decimos la correspondencia (subimos los archivos a origen desde el main, que fue
lo que renombramos)

git push origin main

Github 6
//actualizar referencias remotas sin hacer ningun cambio sobre nuestra rama local
git fetch

git tree //Lo complementamos con esto, por ejemplo

git log //Lo podemos complementar con esto tambien

//Hacemos pull con merge (escogemos el mecanismo de mergeo para que no asuma
que todo esta bien)

git config [Link] false //Indicamos nuestro metodo de subir

git push --set-upstream origin main//Indicamos cual rama hara los cambios de la rama
de github con la rama de nosotros (de la main de github con la main de nosotros)

git pull origin main //Pulleamos nuestros avances

//Clonar el proyecto

git clone git@[Link]:ThirtforBep/[Link]

//Clonar un proyecto sobre mi proyecto


Creamos un fork el cual nos permite copiar todo un proyecto sobre nuestra rama y ya
desde ahi la podemos clonar para hacer modificaciones y asi

//Sincronizamos entre repositorios distintos, pero clonados

Github 7
//Ejemplo de crear una rama y configurar la conexion ssh por si llegamos a tener
problemas

~/.ssh ⌚ [Link]
$ ls

config id_ed25519 id_ed25519.pub known_hosts known_hosts.old

~/.ssh ⌚ [Link]
$ eval "$(ssh-agent -s)"

Agent pid 26142

~/.ssh ⌚ [Link] //Aquí tuve problemas con el ssh, por lo que cambiamos al
directorio ssh y creamos un archivo
$
ssh-add ~/.ssh/id_ed25519

Identity added: /home/angelbep/.ssh/id_ed25519 (labptop0520@[Link])

~/.ssh ⌚ [Link] //Agregamos la llave publica al github


$
cat ~/.ssh/id_ed25519.pub

ssh-ed25519
AAAAC3NzaC1lZDI1NTE5AAAAIDKIrJWqQjmsyBJ8kTCuBKMwL/yWEFjNMssYxIWA8Gjc
labptop0520@[Link]
~/.ssh ⌚ [Link]
$
cd /mnt/c/Users/labpt/hello-git-angelbep //Cambiamos nuevamente a donde tengo mis
archivos
/mnt/c/Users/labpt/hello-git-angelbep on  mi-contribucion ⌚ [Link]
$
git remote set-url origin git@[Link]:ThirtforBep/[Link] //Nos
conectamos a git mediante ssh
/mnt/c/Users/labpt/hello-git-angelbep on  mi-contribucion ⌚ [Link]
$
ssh -T git@[Link] //Corroboramos conexion

Hi ThirtforBep! You've successfully authenticated, but GitHub does not provide shell
access.
/mnt/c/Users/labpt/hello-git-angelbep on  mi-contribucion ⌚ [Link]
$ git checkout -b mi-contribucion

Github 8
/mnt/c/Users/labpt/hello-git-angelbep on  mi-contribucion ⌚ [Link]
$ git branch //Vemos la rama en la que estamos

/mnt/c/Users/labpt/hello-git-angelbep on  mi-contribucion ⌚ [Link]


$ git add . //Agregamos los archivos actuales

/mnt/c/Users/labpt/hello-git-angelbep on  mi-contribucion ⌚ [Link]


$ git commit -m "Añadí mi usuario a [Link]"

/mnt/c/Users/labpt/hello-git-angelbep on  mi-contribucion ⌚ [Link]


$ git push origin mi-contribucion //Indicamos que queremos subir los cambios a la
rama origen desde mi rama

/mnt/c/Users/labpt/hello-git-angelbep on  mi-contribucion ⌚ [Link]


$
git push origin mi-contribucion

En el 3:30 vemos el modo administrador del repositorio

//Descargar cambios de la rama principal a mi rama local

git pull origin main

//Subir cambios al repositorio remoto

git push origin mi-contribucion

Github 9
//Instalar git-flow (Es una metodologia para trabajar las ramas)

/bin/bash -c "$(curl -fsSL


[Link] //instalar
homebrew

/mnt/c/Users/labpt/hello-git-angelbep on  main ⌚ [Link]


$ echo 'eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"' >> ~/.zshrc

/mnt/c/Users/labpt/hello-git-angelbep on  main ⌚ [Link]


$ eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"

/mnt/c/Users/labpt/hello-git-angelbep on  main ⌚ [Link]


$ brew install git-flow

git flow init//Creamos las ramas

Github 10
git flow feature start (nombre de la funcionalidad que vamos a hacer)

comandos raros

git cherrypic //jalar un commit completo al head

git rebase //Poner al frente una rama enfrente de otra

Github pages: Te despliega tu sistema

Github actions: Es una api que te hace los tests (hace las automatizaciones)

Github 11

También podría gustarte