Git
Español ▾ Topics ▾ Latest version ▾ git-init last updated in 2.47.0

NOMBRE

git-init - Crear un repositorio de Git vacío o reinicializar uno ya existente

SINOPSIS

git init [-q | --quiet] [--bare] [--template=<directorio-de-plantilla>]
	  [--separate-git-dir <directorio-git>] [--object-format=<formato>]
	  [--ref-format=<formato>]
	  [-b <nombre-de-rama> | --initial-branch=<nombre-de-rama>]
	  [--shared[=<permisos>]] [<directorio>]

DESCRIPCIÓN

Este comando crea un repositorio Git vacío. Básicamente un directorio .git con subdirectorios para objects, reas/heads, reos/tags, y ficheros de plantillas. Se creará una rama inicial sin confirmaciones (ver la opción --initial-branch abajo por su nombre).

Si la variable de ambiente $GIT_DIR se configura, entonces especifica una ruta a usar en lugar de ./.git para la base del repositorio.

Si el directorio de almacenamiento de objetos se especifica con la variable de ambiente $GIT_OBJECT_DIRECTORY, entonces los directorios sha1 se crean bajo él, de lo contrario se usa el directorio predeterminado $GIT_DIR/objects.

Ejecutar git init en un repositorio existente es seguro. No sobre-escribirá cosas que ya existan ahí. La razón primaria para volver a ejecutar git init es para recoger plantillas agregadas recientemente (o para mover el repositorio a otro lugar si se proporciona --separate-git-dir).

OPCIONES

-q
--quiet

Mostrar sólo los mensajes de error y advertencia; el resto de mensajes se suprimirán.

--bare

Crea un repositorio básico. Si la variable de ambiente GIT_DIR no está configurada, se configura al directorio de trabajo actual.

--object-format=<formato>

Especifica el <formato> de objeto (algoritmo hash )dado para el repositorio. Los valores válidos son sha1 y -si esta habilitado- sha256. sha1 es el predeterminado.

Nota: En el presente, no hay interoperabilidad entre repositorios SHA-256 y SHA-1.

Históricamente, hemos advertido que repositorios SHA-256 puedan necesitar después cambios incompatibles hacia atrás cuando introduzcamos tales características de interoperabilidad. Hoy, sólo esperamos cambios compatibles. Además, si tales cambios prueban ser necesarios, se puede esperar que repositorios SHA-256 creados con el Git de hoy sean usables por versiones futuras de Git sin pérdida de datos.

--ref-format=<formato>

Especifica el <formato> de almacenamiento de referencia dado para el repositorio. Los valores válidos son:

Warning

Missing es/ref-storage-format.txt

See original version for this content.

--template=<directorio-de-plantilla>

Especifica el directorio de dónde usar plantillas. (Ver la sección "DIRECTORIO DE PLANTILLAS" mas adelante.)

--separate-git-dir=<directorio-git>

En lugar de inicializar el repositorio como un directorio ya sea de $GIT_DIR o ./.git, crea un fichero de texto conteniendo la ruta al repositorio actual. Este fichero actúa como una liga simbólica de Git agnóstica de sistema de ficheros hacia el repositorio.

Si es una re-inicialización, el repositorio se moverá a la ruta especificada.

-b <nombre-rama>
--initial-branch=<nombre-rama>

Usar el <nombre-de-rama> especificado para la rama inicial en el repositorio recientemente creado. Si no se especifica, recae en el nombre predeterminado (actualmente master, pero está sujeto a cambio en el futuro; el nombre puede ser personalizado con la variable de configuración init.defaultBranch).

--shared[=(false|true|umask|group|all|world|everybody|<permiso>)]

Especifica que el repositorio Git será compartido entre varios usuarios. Esto permite a los usuarios pertenecientes al mismo grupo hacer push en ese repositorio. Cuando se especifica, la variable de configuración core.sharedRepository se asigna de tal manera que esos ficheros y directorios bajo $GIT_DIR son creados con los permisos solicitados. Cuando no se especifica, Git usará los permisos reportados por umask(2).

La opción puede tomar los siguientes valores, predeterminando a group si no se da algún valor:

umask
false

Use los permisos obtenidos con umask(2). El predeterminado, cuando no se indica --shared.

group
true

Hace al repositorio escribible para el grupo, (y g+sx, ya que el grupo git podría no ser el grupo primario de todos los usuarios). Esto se usa para relajar los permisos de un valor -por el contrario- seguro de umask(2). Note que umask aún aplica a los otros bits de permisos (ej. si umask es 0022, usando group no quitará privilegios de lectura de otros usuarios (no del grupo) ). Ver 0xxx para cómo especificar exactamente los permisos del repositorio.

all
world
everybody

Igual que group, pero permite que cualquier usuario lea el repositorio.

<permisos>

<permisos> es un número octal de tres dígitos prefijado con 0 y cada fichero tendrá el modo <permisos>. <permisos> sobre-escribirá el valor umask(2) del usuario (y no solo permisos mas holgados como lo hacen group y all). 0640 creará un repositorio legible por el grupo, pero no escribible o accesible para otros. 0660 creará un repositorio que es legible y escribible por el usuario actual y grupo, pero inaccesible para otros (directorios y ficheros ejecutables obtienen su bit x del bit r para sus clases de usuarios correspondientes).

Predeterminadamente, la bandera de configuración receive.denyNonFastForwards está habilitada en repositorios compartidos, de tal manera que no se pueda forzar un push no-fast-forward en él.

Si se proporciona un <directorio>, el comando se ejecuta dentro de éste. Si éste directorio no existe, se creará.

DIRECTORIO DE PLANTILLAS

Ficheros y directorios en el directorio de plantillas cuyo nombre no comiencen con un punto serán copiados en el directorio $GIT_DIR después de ser creado.

El directorio de plantilla será uno de los siguientes (en este orden):

  • el argumento proporcionado con la opción --template;

  • el contenido de la variable de entorno $GIT_TEMPLATE_DIR;

  • la variable de configuración init.templateDir; o

  • el directorio de plantilla por defecto: /usr/share/git-core/templates.

El directorio de plantillas predeterminado incluye una estructura de directorio, algunos "patrones de exclusión" sugeridos (ver gitignore[5]) y ficheros de hook de ejemplo.

Todos los ganchos de ejemplo están deshabilitados predeterminadamente. Para habilitar uno de los ganchos de ejemplo renómbralo quitando el sufijo .sample.

Ver githooks[5] para mas información general de la ejecución de hooks.

EJEMPLOS

Crear un reprositorio Git nuevo para código fuente existente
$ cd /ruta/a/mi/código
$ git init      (1)
$ git add .     (2)
$ git commit    (3)
  1. Crear un directorio /ruta/a/mi/código/.git .

  2. Añadir todos los ficheros existentes al índice.

  3. Registra el estado prístino como el primer commit en el historial.

CONFIGURACIÓN

Warning

Missing es/includes/cmd-config-section-all.txt

See original version for this content.

Warning

Missing es/config/init.txt

See original version for this content.

GIT

Parte de la suite de git[1]

scroll-to-top