git config --global user.email "[email protected]" git config --global user.name "Arturo" git config --global -e (editor) git config --global -l (muestra lol guardado) git config -l ó git config --list
-
git init
-
git add README.md
-
git commit -m "Mi primer Commit"
-
git add -A ó git add .
-
git diff (mestra todas la lineas alteradas)
-
git diff admin/funciones.php (especifica las lineas que fueron alteradas en el fichero)
-
git branch -M main
-
git branch -m (cambiar el nombre de la rama, desde otra rama)
-
git remote add origin main httpt://github.com/gnuxdar/example.git
-
git push -u origin main
-
git commit --amend -m "New commit message" Reescribe el utimo commit
-
git merge developer (fusiona la rama que le indiquemos a la rama actual)
-
git log --oneline --decorate --all --graph (se ve la proicedencia de una rama)
-
git log --decorate --all --graph --oneline (muestra de manera mas grafica en la terminal)
-
cat my_proyecto/.git/config (leer el fichero git para ver repositosio remoto o info)
-
git remote -v (muestra a que repositorio esta ligado)
-
git ls-remote origin (lista todas las ramas remotas)
-
git log (muestra los commit que se han hecho)
-
git log -p (muestra el codigo del commit)
-
git log -p (si solo quieres ver los cambios en un archivo específico en cada commit, puedes usar el siguiente comando)
-
git log
-
git log --author="Arturo Cabrera" (con username)
-
git log --author="[email protected]" (con email)
-
git log --author="TuNombre" --oneline --decorate --graph
-
git log --author="Arturo Cabrera" --since="2024-04-01" --until="2024-04-30" --format="%h - %s - %ad"
-
git log --merges (ver el historial de fusiones (merges))
-
git blame (ver los cambios en un fichero especifico en cada commit)
-
git revert (Revertir algunas confirmaciones existentes)
-
git reset --soft HEAD~1 (elimina el ultimo commit)
-
git reset --hard HEAD~3 (elimina los ulimos 3)
-
git reset --hard HEAD~1 (elimina el ultimo commit)
-
git reset --merge
-
git reset --hard
-
git reset --mixed
-
git config --get remote.origin.url (muestra la url de nuestro repositorio)
-
git config --local -l (muestra la configuracion local)
-
git config --global -l (muestra la configuracion global)
-
git tag (lista los tag)
-
git tag 1.0.0 -m "version 1.0.0"
-
git checkout tag_name (Acceder al codigo asociado a ese tag)
-
git push origin 1.0.0 (hacer push al tag)
-
git config core.fileMode false (Evita marcar todos los archivos como modificados al cambiar permisos.)
-
git checkout -b nombreDeLaNuevaBranch (crear un rama a partir de la rama actual)
-
git push --set-upstream origin nombreDeLaNuevaBranch (subir al repo la rama nueva creada)
-
git commit -m "[UPD] this comment (Co Author del commit)
-
git branch -d rama-a-eliminar
-
git push origin --delete rc-acabrera (Informar la eliminacion de la rama al repo)
-
git checkout --ours (para conservar los cambios de tu rama local y descartar los de la rama remota.)
-
git checkout --theirs (para conservar los cambios de la rama remota y descartar los de tu rama local.)
-
git rebase --abort (para volver al estado anterior al rebase.)
ssh-add -l -E sha256
ó
ssh-add -l -E sha256
ssh -T git@epayco
ssh -T [email protected]
ssh -vT [email protected]
ssh-keygen -t ed25519 -b 4096 -C "[email protected]" -f ssh-key-name
Host github.com HostName github.com User git AddKeysToAgent yes IdentityFile /home/gnuxdar/.ssh/epayco IdentitiesOnly yes
# Configuración para el repositorio personal
Host github.com
HostName github.com
User git
IdentityFile ~/.ssh/id_rsa
# Configuración para el repositorio de trabajo
Host work-repo
HostName work.repo.com
User git
IdentityFile ~/.ssh/epayco.pub
user/.ssh/config
Host epayco HostName github.com User git AddKeysToAgent yes IdentityFile /home/gnuxdar/.ssh/epayco IdentitiesOnly yes
Host gnuxdar HostName github.com User git AddKeysToAgent yes IdentityFile /home/gnuxdar/.ssh/gnuxdar IdentitiesOnly yes
Host stefanini HostName altssh.bitbucket.org User git AddKeysToAgent yes IdentityFile /home/gnuxdar/.ssh/stefanini Port 443 IdentitiesOnly yes
ssh -i /home/gnuxdar/.ssh/epayco -T [email protected]
ssh -i /home/gnuxdar/.ssh/gnuxdar -T [email protected]
ssh -T git@stefanini <!-- bitbucket-->
git clone git@epayco:usuario/repo.git
git clone git@gnuxdar:usuario/repo.git
git clone git@stefanini:telefonica-peru/dev-ecommerce-tdp-bkp.git
git remote set-url origin git@epayco:usuario/repo.git
git remote set-url origin git@gnuxdar:usuario/repo.git git remote set-url origin git@gnuxdar:GNUXDAR/lv_backend.git
en el config del local el host y en el config del repo, el url deben ser igual. ejm: config local: Host gnuxdar config repo: [remote "origin"] url = git@gnuxdar:GNUXDAR/lv_backend.git donde @gnuxdar es el host
Git no ignorará el archivo si agregas una norma más tarde. En esos casos, primero debes dejar de seguir el archivo, ejecutando el siguiente comando en tu terminal: En local $git rm --cached FILENAME
Si quieres ignorar un archivo que has confirmado en el pasado, deberás eliminarlo de tu repositorio y, a continuación, añadirle una regla de .gitignore. Al usar la opción --cached con git rm, el archivo se eliminará del repositorio, pero permanecerá en tu directorio de trabajo como archivo ignorado.
En Global $ git config --global core.excludesfile ~/.gitignore_global También puedes crear un archivo .gitignore global, que consiste en una lista de normas para ignorar archivos en cada repositorio de Git de tu computadora. Por ejemplo, puedes crear el archivo en ~/.gitignore_global y agregarle algunas normas.
git config user.name "greboidw" git config user.email [email protected]
git remote set-url origin https://[email protected]/gnuxdar/cms_restaurant.git
Cuando clonas un repositorio, toda la información de las sucursales se descarga, pero las sucursales están ocultas. Con el comando
** $ git branch -a **
puede mostrar todas las ramas del repositorio, y con el comando
** $ git checkout -b branchname origin/branchname **
A continuación, puede "descargar" manualmente uno a la vez.
** $ git checkout -b gnuxdar_agosto remotes/origin/gnuxdar_agosto **
git merge rama
- branch master -> FETCH_HEAD fatal: refusing to merge unrelated histories fatal: rehusando fusionar historias no relacionadas
(solucion) git pull --allow-unrelated-histories origin master (cuando da el error de arriba, esto lo corrige, forza el pull) ó git merge development --allow-unrelated-histories
git remote add gilberto https://github.com/gilberto9312/eqsoft.git git pull gilberto gnuxdar_github
git push -u gnuxdar_github rame
Varios Repositorios en un mismo repo OJO git remote add [alias del repo que le pondremos "fork"] https://github.com/gilberto9312/eqsoft.git git checkout -b gnuxdar_github (para crear una rama desde la que ya existe "en caso de existir una") git checkout -t remotes/github/git_gnux_gil (descargar un arama del repo remoto)
los demas procesos iguales que anterior git add route/file.php git commit -m "messaje" git push fork (mi fork)
branch master -> FETCH_HEAD fatal: refusing to merge unrelated histories
git pull --allow-unrelated-histories origin master (cuando da el error de arriba, esto lo corrige, forza el pull)
git config --global user.email
{ID}+{username}@users.noreply.github.com - git config user.email "[email protected]"
git config --global user.email {ID}+{username}@users.noreply.github.com
git commit --amend --reset-author
git push
Contando objetos: 100% (96/96), listo. Compresión delta usando hasta 8 hilos Comprimiendo objetos: 100% (71/71), listo. Escribiendo objetos: 100% (73/73), 8.48 KiB | 1.70 MiB/s, listo. Total 73 (delta 27), reusados 0 (delta 0), pack-reusados 0 remote: Resolving deltas: 100% (27/27), completed with 14 local objects. remote: error: GH007: Your push would publish a private email address. remote: You can make your email public or disable this protection by visiting: remote: http://github.com/settings/emails To gnuxdar:GNUXDAR/lv_backend.git ! [remote rejected] main -> main (push declined due to email privacy restrictions) error: falló el empuje de algunas referencias a 'gnuxdar:GNUXDAR/lv_backend.git'
git commit --amend --author="Arturo Cabrera <[email protected]>"
##############################################################
- Creamos una rama basada en otra
- Trabajamos en la nueva rama
- Guardamos los cambios
- Nos ubicamos en la rama que queremos unir los cambios
- Fusionamos los cambios
O lo que es lo mismo:
- git checkout -b feature
- Realizamos los cambios pertinentes
- git commit -m “feature realizada”
- git checkout master
- git merge feature
También podemos hacer un sexto paso que es la eliminación de la rama que fusionamos pues ya no la necesitamos. Esto se hace con: git branch -d rama-a-eliminar, es decir, para nuestro caso: git branch -d feature.
Co-authored-by: Arturo [email protected] Co-authored-by: Gregorio [email protected]"
Cuando inetentaaba hacer un pull mem daba erro o con push.
- user/.ssh/know_hosts este fichero guarad una especie de log, si se elimina el contenido vuelve a solicitar acceso
- user/.gitconfig la configuracion de git
- user/.ssh/config