Git · 02

Primeros pasos: de cero a tu proyecto en GitHub

Una guía completa para hacer en orden, en Windows. Al terminar vas a tener Git instalado y configurado, un proyecto con historial y una copia en GitHub que podés clonar desde cualquier computadora. Cada comando viene con lo que hace y con la salida que deberías ver.

Términos de esta página

Si alguno no te suena, mirá también Conceptos.

Terminal
La ventana donde escribís comandos de texto. En Windows usamos PowerShell (o la pestaña Terminal de VS Code, que abre lo mismo).
Comando
Una instrucción que escribís en la terminal y ejecutás con Enter, por ejemplo git status.
Carpeta actual
La carpeta en la que “está parada” la terminal. Git actúa sobre el repositorio de esa carpeta. Se cambia con cd.
winget
El instalador de programas por línea de comandos que viene con Windows 10/11.
Configuración global
Ajustes de Git que valen para todos tus proyectos (se guardan en el archivo .gitconfig de tu usuario).
Repositorio (repo)
Carpeta con historial de Git (tiene una subcarpeta oculta .git).
Commit
Una foto guardada del proyecto con un mensaje.
.gitignore
Un archivo de texto con la lista de cosas que Git debe ignorar (dependencias, contraseñas, archivos temporales).
Remoto / origin
La copia del repo en GitHub. origin es el nombre que se le da por convención.
Git Credential Manager
Un ayudante que viene con Git para Windows: cuando GitHub te pide iniciar sesión, abre el navegador y después recuerda la sesión.
Upstream
La rama del remoto con la que se “empareja” tu rama local, para que git push y git pull sepan adónde ir sin aclararlo.
0

Antes de empezar: la terminal y cómo leer esta guía

Abrir una terminal en una carpeta

  • Desde el Explorador de Windows: abrí la carpeta, clic derecho en un espacio vacío → Abrir en Terminal.
  • Desde VS Code: menú Terminal → Nueva terminal. Se abre ya parada en la carpeta del proyecto.
  • Desde el menú Inicio: buscá PowerShell o Terminal.
cd E:\Development
cd = “cambiar de carpeta”. Después de esto, los comandos actúan sobre E:\Development.
ls
Lista lo que hay en la carpeta actual (en PowerShell también funciona dir).

Cómo leer los bloques de esta guía

  • Los bloques oscuros son comandos: se escriben (o se copian con el botón de la derecha) y se ejecutan con Enter. Si hay varias líneas, van de a una.
  • Lo que está entre < y > se reemplaza por tu valor, sin los signos. Ej.: <usuario> → mataguirre7.
  • Lo que empieza con # es un comentario: explica, no se ejecuta.
  • Los bloques grises que dicen “salida” muestran lo que responde la terminal. Sirven para comparar, no se escriben.
git version 2.50.1.windows.1
1

Instalar Git

Una sola vez por computadora.

Con winget (recomendado)

winget install --id Git.Git -e --source winget
Descarga e instala Git para Windows. -e pide la coincidencia exacta del nombre. Si te pregunta, aceptá los términos con Y.
!

Cerrá la terminal y abrí una nueva después de instalar: las terminales abiertas no ven el programa nuevo hasta que se reinician.

También podés bajar el instalador desde git-scm.com y dejar todas las opciones por defecto.

Verificar

git --version
Si ves un número de versión, Git está instalado. El número exacto puede variar.
git version 2.50.1.windows.1
✕

Si dice “git no se reconoce como nombre de un cmdlet”, la terminal es anterior a la instalación (abrí una nueva) o la instalación no terminó.

i

El instalador trae también Git Bash (otra terminal) y el Git Credential Manager, que vas a usar en el paso 7 para iniciar sesión en GitHub.

2

Configurar tu identidad y preferencias

Una sola vez por computadora. --global significa “para todos mis repositorios”.

Quién sos (obligatorio)

Cada commit guarda nombre y email del autor. Sin esto, Git no te deja hacer commits. Usá el mismo email que tu cuenta de GitHub, así GitHub asocia los commits con tu perfil.

git config --global user.name "<Tu Nombre>"
git config --global user.email "<tu-email@ejemplo.com>"
Le dice a Git qué nombre poner como autor en cada commit que hagas (--global = para todos los proyectos de esta PC). Las comillas son necesarias si el nombre tiene espacios. Se configura una sola vez.

Preferencias recomendadas

git config --global init.defaultBranch main
Que la rama principal de los repos nuevos se llame main (el estándar actual de GitHub).
git config --global core.autocrlf true
Windows y Linux marcan el fin de línea distinto (CRLF y LF). Con esto Git los convierte solo y evita diferencias falsas. Es la causa del aviso “LF will be replaced by CRLF”: es normal.
git config --global core.editor "code --wait"
Opcional: si Git necesita que escribas un texto largo (por ejemplo un mensaje de merge), lo abre en VS Code.

Revisar lo configurado

git config --global --list
Muestra toda tu configuración global, una línea por opción (user.name=…, user.email=…). Sirve para comprobar que quedó bien. Si la lista es larga, q sale.
user.name=Tu Nombre
user.email=tu-email@ejemplo.com
init.defaultbranch=main
core.autocrlf=true
3

Crear un repositorio

Convertir una carpeta en un proyecto con historial.

Carpeta nueva

mkdir mi-proyecto
cd mi-proyecto
git init
mkdir crea la carpeta, cd entra en ella y git init crea el repositorio vacío (la carpeta oculta .git).
Initialized empty Git repository in E:/Development/mi-proyecto/.git/

Proyecto que ya existe

Si ya tenés una carpeta con código, no hace falta crear nada: entrá a la carpeta y corré git init ahí. Los archivos no se tocan; solo se agrega .git.

cd <ruta-de-tu-proyecto>
git init
!

No borres la carpeta .git: ahí está todo el historial. Si la borrás, la carpeta vuelve a ser una carpeta común.

4

Tu primer commit

El ciclo básico: crear o editar → status → add → commit.

a) Crear un archivo

Creá un archivo README.md con tu editor (es el texto que GitHub muestra en la portada del repo). Por ejemplo, con este contenido:

# Mi proyecto

Un proyecto para practicar Git.
code README.md
Abre (o crea) el archivo en VS Code. Sin VS Code: notepad README.md.
!

Evitá echo "texto" > archivo en Windows PowerShell 5.1: guarda el archivo en UTF-16 y en GitHub se ve con caracteres raros. Usá el editor.

b) Ver el estado

git status
El comando que más vas a usar: dice en qué rama estás y qué archivos cambiaron. No modifica nada.
On branch main

No commits yet

Untracked files:
  (use "git add <file>..." to include in what will be committed)
        README.md

Untracked = Git ve el archivo pero todavía no lo sigue.

c) Prepararlo (add)

git add README.md
Pone ese archivo en el área de preparación. Para agregar todo lo que cambió en la carpeta: git add . (el punto significa “esta carpeta”).
git status
Changes to be committed:
  (use "git rm --cached <file>..." to unstage)
        new file:   README.md

d) Guardarlo (commit)

git commit -m "Primer commit: agrega README"
-m = el mensaje del commit, entre comillas. Describí qué cambia.
[main (root-commit) a1f3c9e] Primer commit: agrega README
 1 file changed, 3 insertions(+)
 create mode 100644 README.md

a1f3c9e es el hash de tu commit (el tuyo va a ser otro). root-commit significa que es el primero del repo.

git log --oneline
Muestra el historial con un commit por línea: el hash corto (el identificador del commit) y el mensaje. Por ahora vas a ver uno solo.
a1f3c9e (HEAD -> main) Primer commit: agrega README
5

Decirle a Git qué ignorar (.gitignore)

Hacelo antes del primer git add . en un proyecto real.

Qué no hay que subir nunca

  • Dependencias descargadas (node_modules/, .terraform/): se regeneran con npm install o terraform init y pesan mucho.
  • Secretos (.env, contraseñas, claves, *.tfstate): si llegan a GitHub, hay que considerarlos expuestos.
  • Archivos generados (dist/, build/, logs).
  • Basura del sistema o del editor (Thumbs.db, .DS_Store, .vscode/).

El archivo .gitignore

Creá un archivo llamado exactamente .gitignore (con el punto adelante, sin extensión) en la raíz del proyecto:

# dependencias
node_modules/

# secretos
.env

# generados
dist/
*.log

# sistema
Thumbs.db
.DS_Store

Una línea por patrón. carpeta/ ignora una carpeta entera; *.log ignora todos los archivos que terminan en .log; # es un comentario.

git add .gitignore
git commit -m "Agrega .gitignore"
El .gitignore sí se sube: así todos los que clonen ignoran lo mismo.
6

Crear el repositorio en GitHub

En el navegador. Si no tenés cuenta, creala gratis en github.com.

  1. Entrá a github.com con tu cuenta y tocá el botón + (arriba a la derecha) → New repository.
  2. Repository name: el nombre del proyecto, por ejemplo mi-proyecto (sin espacios).
  3. Public (cualquiera lo ve) o Private (solo vos y quienes invites).
  4. No marques “Add a README”, “.gitignore” ni “license”: tu repo local ya tiene historial y un repo de GitHub con archivos propios generaría un conflicto al subir.
  5. Tocá Create repository. GitHub te muestra una página con la URL del repo, del estilo https://github.com/<usuario>/mi-proyecto.git. Copiala.
7

Conectar y subir tu proyecto

De vuelta en la terminal, en la carpeta del proyecto.

Los tres comandos

git remote add origin https://github.com/<usuario>/mi-proyecto.git
Le dice a tu repo local dónde está su copia en GitHub, y la llama origin. Se hace una sola vez por repo.
git branch -M main
Se asegura de que tu rama se llame main (por si se creó como master). Si ya se llama así, no hace nada.
git push -u origin main
Sube tus commits de main a origin. -u guarda la relación (el upstream): desde ahora alcanza con git push y git pull.
Enumerating objects: 6, done.
Writing objects: 100% (6/6), 540 bytes | 540.00 KiB/s, done.
To https://github.com/<usuario>/mi-proyecto.git
 * [new branch]      main -> main
branch 'main' set up to track 'origin/main'.

El inicio de sesión (solo la primera vez)

Al hacer el primer push, el Git Credential Manager abre una ventana para iniciar sesión en GitHub:

  1. Elegí Sign in with your browser.
  2. Se abre GitHub en el navegador: iniciá sesión y tocá Authorize.
  3. Volvé a la terminal: el push continúa solo.

La sesión queda guardada en el Administrador de credenciales de Windows, así que las próximas veces no pregunta.

!

GitHub no acepta tu contraseña en la terminal. Si alguna herramienta te pide usuario y contraseña, usá el login por navegador o un token personal (ver Problemas).

✓

Recargá la página del repo en GitHub: tienen que aparecer tus archivos y el README.

8

El ciclo de todos los días

Desde ahora, trabajar con Git es repetir esto.

Guardar y subir un cambio

git pull
Antes de empezar: trae lo que se haya subido desde otra computadora o por otra persona.
# ...editás archivos en el editor...
git status
git add .
git commit -m "<qué cambiaste>"
git push
Mirar qué cambió, prepararlo, guardarlo con un mensaje y subirlo.

Consejos

  • Hacé commits chicos y seguidos: es más fácil entender y deshacer un cambio chico.
  • Antes de git add ., mirá git status para no subir algo por error.
  • git diff muestra exactamente qué líneas cambiaste (ver Uso diario).
  • VS Code tiene un panel Control de código fuente (ícono de ramita) que hace lo mismo con botones: es Git por detrás.
9

Clonar: traer un repositorio a otra computadora

git clone

cd E:\Development
git clone https://github.com/<usuario>/mi-proyecto.git
Crea la carpeta mi-proyecto con todos los archivos y el historial completo, y ya queda conectada a origin. No hace falta git init ni remote add.
Cloning into 'mi-proyecto'...
remote: Enumerating objects: 6, done.
Receiving objects: 100% (6/6), done.
cd mi-proyecto
git log --oneline
Entrás a la carpeta que creó git clone. Ya es un repositorio completo: git log muestra el mismo historial que en la otra computadora y git remote -v confirma que está conectado a GitHub.

Resumen: ¿init o clone?

SituaciónComando
Empiezo un proyecto nuevo en mi PCgit init + remote add + push -u
El proyecto ya está en GitHubgit clone <url>
Quiero las novedades de un repo que ya clonégit pull
✓

Siguiente paso: Ramas, para trabajar en algo nuevo sin tocar lo que funciona.