Creando una nueva rama vacía para un nuevo proyecto
Estamos usando un repositorio git para almacenar nuestro proyecto. Tenemos nuestras sucursales partiendo de la sucursal original. Pero ahora queremos crear un pequeño proyecto nuevo para realizar un seguimiento de cierta documentación. Para eso querríamos crear una nueva rama vacía para comenzar a almacenar nuestros archivos, y me gustaría que otros usuarios de la red clonaran esa rama.
¿Cómo podemos hacer eso?
Intenté algunas cosas, pero no funcionaron.
$ mkdir proj_doc; cd proj_doc
$ git init
$ git add .
$ git commit -m 'first commit'
$ git br proj_doc
$ git co proj_doc
$ git br -d master
$ git push origin proj_doc
Parece impulsar la rama correctamente, pero cuando hago una búsqueda o extracción, descarga información de otras ramas y luego también obtengo algunos archivos adicionales de otros proyectos. ¿Cuál es la mejor solución?
Puedes crear una rama como huérfana:
git checkout --orphan <branchname>
Esto creará una nueva rama sin padres. Luego, puede borrar el directorio de trabajo con:
git rm --cached -r .
y agregue los archivos de documentación, confírmelos y envíelos a github.
Un pull o fetch siempre actualizará la información local sobre todas las sucursales remotas. Si solo desea extraer/obtener la información de una única sucursal remota, debe especificarla.
La respuesta correcta es crear una rama huérfana. Explico cómo hacer esto en detalle en mi blog. (Enlace archivado)
...
Antes de comenzar, actualice a la última versión de GIT. Para asegurarse de que está ejecutando la última versión, ejecute
which git
Si muestra una versión antigua, es posible que necesites aumentar tu RUTA con la carpeta que contiene la versión que acabas de instalar.
Bien, estamos listos. Después de hacer un CD en la carpeta que contiene su git checkout, cree una rama huérfana. Para este ejemplo, nombraré la rama "mybranch".
git checkout --orphan mybranch
Eliminar todo en la rama huérfana
git rm -rf .
Haz algunos cambios
vi README.txt
Agregar y confirmar los cambios
git add README.txt git commit -m "Adding readme file"
Eso es todo. Si tu corres
git log
Notarás que el historial de confirmaciones comienza desde cero. Para volver a su rama maestra, simplemente ejecute
git checkout master
Puedes regresar a la rama huérfana ejecutando
git checkout mybranch