Git: crear un nuevo repositorio

Al iniciar un nuevo proyecto, una de las primeras cosas que deberá hacer es crear un nuevo repositorio de Git. Esto no solo te ayuda a compartir el proyecto...

Al iniciar un nuevo proyecto, una de las primeras cosas que necesitará hacer es crear un nuevo repositorio de Git. Esto no solo lo ayuda a compartir el proyecto con compañeros de trabajo o públicamente, sino que también es una excelente manera de realizar un seguimiento de las actualizaciones de un proyecto joven que seguramente experimentará cambios significativos en sus inicios. Con un historial completo de esos cambios y funciones útiles como sucursales, puede probar más fácilmente diferentes diseños/implementaciones para el proyecto sin perder el trabajo anterior.

Como con cualquier cosa en Git, hay algunas formas de hacer lo que queremos, dependiendo de lo que necesites. En este artículo, mostraremos algunas formas de crear un nuevo repositorio.

Creación de un repositorio desde cero

Para iniciar este nuevo repositorio, querrá usar el comando init. Para hacer esto, vaya al directorio de su proyecto y escriba lo siguiente:

1
2
$ git init
Initialized empty Git repository in /Users/scott/projects/my-new-project/.git/

Esto se puede hacer en cualquier momento en su proyecto, ya haya archivos allí o no. Una vez que haya agregado algunos archivos y sienta que está en un punto en el que debe confirmar su código, puede usar el comando add para agregar sus archivos al nuevo repositorio:

1
$ git add .

Esto organizará los archivos en su directorio de trabajo actual para la próxima confirmación. Después de preparar nuestros archivos, podemos verificar que estén listos para confirmar usando el comando status:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
$ git status
On branch master

Initial commit

Changes to be committed:
  (use "git rm --cached <file>..." to unstage)

    new file:   index.js
    new file:   package.json

Finalmente, puede enviar los archivos al nuevo repositorio usando commit:

1
2
3
4
5
$ git commit -am "Initial commit"
[master (root-commit) 37a82f5] Initial commit
 2 files changed, 0 insertions(+), 0 deletions(-)
 create mode 100644 index.js
 create mode 100644 package.json

Aquí también usamos las banderas -a y -m, que hacen lo siguiente:

  • -a: Confirmar todos los archivos preparados
  • -m: use la siguiente cadena como mensaje de confirmación

Para verificar

Crear un repositorio para un proyecto existente {#crear un repositorio para un proyecto existente}

Crear un repositorio para un proyecto existente es prácticamente el mismo proceso que crear un repositorio para un proyecto nuevo. Al igual que en la última sección, querrá ejecutar los mismos comandos generales:

1
2
3
4
5
6
7
8
$ git init
Initialized empty Git repository in /Users/scott/projects/my-new-project/.git/
$ git add .
$ git commit -am "Initial commit"
[master (root-commit) 37a82f5] Initial commit
 2 files changed, 0 insertions(+), 0 deletions(-)
 create mode 100644 index.js
 create mode 100644 package.json

Tenga en cuenta que el comando git add . agregará todos los archivos en el directorio de trabajo actual, incluidos los de los subdirectorios. Sin embargo, también agregará algunos archivos o directorios que quizás no desee, como node_modules para un proyecto de Node.js. Para evitar incluir archivos/directorios no deseados como este, debe crear y confirmar un archivo .gitignore.

Retrocediendo un poco, nuestros comandos para crear un repositorio para un proyecto existente pueden parecerse más a esto:

1
2
3
4
5
$ git init
Initialized empty Git repository in /Users/scott/projects/my-new-project/.git/
$ echo "node_modules/" > .gitignore
$ echo "package-lock.json" >> .gitignore
$ git add .

Ahora, cuando estos elementos "ignorados" están presentes en su proyecto, no necesita preocuparse por prepararlos y confirmarlos accidentalmente. Por ejemplo:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
$ npm install
$ ls -l
total 40
-rw-r--r--   1 scott  staff      0 Sep 16 15:15 index.js
drwxr-xr-x   4 scott  staff    136 Sep 16 15:27 lib
drwxr-xr-x  52 scott  staff   1768 Sep 16 15:32 node_modules
-rw-r--r--   1 scott  staff  14233 Sep 16 15:32 package-lock.json
-rw-r--r--   1 scott  staff    362 Sep 16 15:32 package.json
$ git add .
$ git status
On branch master

Initial commit

Changes to be committed:
  (use "git rm --cached <file>..." to unstage)

    new file:   .gitignore
    new file:   index.js
    new file:   lib/api.js
    new file:   lib/db.js
    new file:   package.json

$ git commit -am "Initial commit"
[master (root-commit) 9646a88] Initial commit
 5 files changed, 19 insertions(+)
 create mode 100644 .gitignore
 create mode 100644 index.js
 create mode 100644 lib/api.js
 create mode 100644 lib/db.js
 create mode 100644 package.json

Tenga en cuenta que nuestro archivo ignorado (package-lock.json) y el directorio (node_modules) no están incluidos en la preparación, incluso después de ejecutar git add ., o la confirmación.

Nota: El uso de .gitignore no solo se recomienda al crear un repositorio para un proyecto existente, pero lo mencionamos aquí porque es más probable que lo necesite para un proyecto existente, como proyectos más maduros tienden a acumular archivos que no deberían ser rastreados o compartidos entre usuarios.

Clonación de un proyecto existente

Aunque técnicamente no está creando un nuevo repositorio, en este caso de uso puede clonar uno existente, evitando que necesite git init uno mismo. Esto es muy común cuando necesita realizar actualizaciones en un proyecto existente, o tal vez si desea clonar un proyecto de esqueleto para ayudarlo a comenzar.

Para clonar un repositorio, querrá usar el comando clonar:

1
$ git clone <repo-url>

Esto copiará todo el contenido del repositorio a su directorio de trabajo actual bajo el nombre del repositorio. Por ejemplo:

1
2
3
4
5
6
7
8
9
$ git clone [correo electrónico protegido]:scottwrobinson/twentyjs.git
Cloning into 'twentyjs'...
remote: Enumerating objects: 48, done.
remote: Total 48 (delta 0), reused 0 (delta 0), pack-reused 48
Receiving objects: 100% (48/48), 9.35 KiB | 0 bytes/s, done.
Resolving deltas: 100% (22/22), done.
$ ls -l
total 0
drwxr-xr-x  9 scott  staff  306 Sep 16 15:55 twentyjs

Hay una serie de otras opciones y casos de uso para este comando, pero no están dentro del alcance de este artículo, por lo que no los cubriremos aquí. Para obtener más información, consulta el artículo Git: clonar un repositorio.

Licensed under CC BY-NC-SA 4.0