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.
git init
git remote add <remote_name> <url>
Normalmente usaremos origin como remote_name, ejemplo:
git remote add origin https://miurl.com/repo.git
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
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" .
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
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
...
Ver ramas locales y cuál está activa. Se puede llamar con -a para ver remotas.
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)
git push <remote_name> --delete <branch_name>
Ejemplo borrar rama coolbranch del repositorio que configuramos como origin:
git push origin --delete coolbranch
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