Skip to content

Instantly share code, notes, and snippets.

@uborzz
Last active April 8, 2021 08:32
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save uborzz/9bcad7341b5696c8a8743caedabc1a3c to your computer and use it in GitHub Desktop.
Save uborzz/9bcad7341b5696c8a8743caedabc1a3c to your computer and use it in GitHub Desktop.
Rama por proyecto en repo único

Crear repo nuevo y subir

Guiaburros para... Caso de un único repositorio remoto. Se crea cada proyecto nuevo en una rama de ese repositorio. Si el proyecto local ya había sido inicializado como un repo git, no se guardaría la historia anterior.

Inicializar en LOCAL el repositorio

git init

Añadir el remoto

git remote add <remote_name> <url>

Normalmente usaremos origin como remote_name, ejemplo:

git remote add origin https://miurl.com/repo.git

Crear rama huérfana

git checkout --orphan <branch_name>

Usaremos el mismo nombre de rama en local y en el remoto, aquí estamos creando en local la rama coolbranch

git checkout --orphan coolbranch

Commit de cambios

Ahora sería el momento de editar el fichero .gitignore para indicar qué ficheros no queremos trackear, añadir los que se deseen seguir y hacer un commit de los cambios.

git add .
git commit -m "new branch & first commit" .

Crear en el servidor

git push <remote_name> <branch_name>

Vamos a hacer el primer push, que creará en el servidor el repositorio, usamos mismo nombre de rama:

git push origin coolbranch

Trayendo un repo a local

git clone <url> -b <branch_name> <folder_name>

Clonamos una sola rama del repo general en la carpeta indicada, por ejemplo:

git clone https://miurl.com/repo.git -b coolbranch coolbranch

Otras Utilidades

git status

...

git branch

Ver ramas locales y cuál está activa. Se puede llamar con -a para ver remotas.

git remote -v

ver los remotes configurados, si se ha configurado origin como remote se vería algo así:

origin  https://miurl.com/repo.git (fetch)
origin  https://miurl.com/repo.git (push)

Borrar un repo remoto (en el servidor!)

git push <remote_name> --delete <branch_name>

Ejemplo borrar rama coolbranch del repositorio que configuramos como origin:

git push origin --delete coolbranch

alias change-commits

on ~/.gitconfig add:

[alias]
	change-commits = "!f() { VAR=$1; OLD=$2; NEW=$3; shift 3; git filter-branch --env-filter \"if [[ \\\"$`echo $VAR`\\\" = '$OLD' ]]; then export $VAR='$NEW'; fi\" $@; }; f "

How to use

git change-commits GIT_AUTHOR_EMAIL "old@email.com" "new@email.com" HEAD~10..HEAD
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment