Tengo un servidor privado que ejecuta git 1.7 cuando
git init
una carpeta no crea una rama maestra. Porque cuando lo hago:
git branch
No enumera nada. Cuando lo hago:
git --bare init
crea los archivos Cuando escribo
git branch master
dice:
fatal: Not a valid object name: 'master'.

git branch newbranchRespuestas:
Esto es cierto, y el comportamiento esperado. Git no creará una
masterrama hasta que confirmes algo.Un non-bare
git inittambién creará los mismos archivos, en un.gitdirectorio oculto en la raíz de su proyecto.Ese es de nuevo el comportamiento correcto. Hasta que te comprometas, no hay una rama maestra .
No has hecho una pregunta, pero responderé la pregunta que supuse que querías hacer. Agregue uno o más archivos a su directorio, y
git addellos para preparar una confirmación. Luegogit commitpara crear su commit inicial ymasterrama.fuente
.git/HEADy cambierefs/heads/masterarefs/heads/main, pero no hay ninguna razón para hacerlo. Simplemente cambie el nombre de su rama después de la primera confirmación.git checkout -b <branchname>para cambiar HEAD; no necesita editar el archivo.Git crea una rama maestra una vez que hayas realizado tu primer commit. No hay nada para tener una rama si no hay código en el repositorio.
fuente
En primer lugar, cuando crea un "repositorio desnudo", no va a trabajar con él (no contiene una copia de trabajo, por lo que el
git branchcomando no es útil).Ahora, la razón por la que no tendría una
masterrama incluso después de hacer unagit inites porque no hay confirmaciones: cuando cree su primera confirmación, tendrá unamasterrama.fuente
git clonepara ahorrar tener que hacer ungit initen el lado del receptor.git checkoutsi desea que el WC refleje lo que hay en el.gitdirectorio (que es donde presionó).Debe comprometerse al menos una vez en master antes de crear una nueva rama.
fuente