Remotos. git clone copia un repositorio y git remote -v lista los remotos. origin es solo el nombre que Git le da por defecto al origen. git fetch trae los cambios sin tocar tu rama; git pull además los integra y, si las ramas divergieron, puede pedirte que elijas entre merge y rebase. git push -u origin mi-rama publica y deja configurado el seguimiento.
Forzar un push. Si el remoto rechaza tu push con "fetch first", tiene commits que no tenés: traelos antes. --force pisa lo que haya; --force-with-lease es más cuidadoso, pero no infalible: después de un git fetch puede dejar pasar un commit que bajaste sin integrar. Mirá qué vas a pisar antes de forzar.
Pull request. Es una función de la plataforma, no de Git, que propone un cambio para discutirlo y revisarlo antes de mergear. La revisión es el contrato: nada debería entrar sin que alguien lo haya leído, sea persona o IA quien lo escribió.
Worktrees. git worktree add ../tarea -b feat/tarea crea otro directorio con su propia rama, el mismo repositorio y su propio directorio de trabajo e index. Por defecto, una rama no puede estar en dos worktrees a la vez. git worktree list, remove y prune los administran. Lo ignorado, como node_modules/, no se comparte.
Tres ideas para llevarte:
- Un push rechazado es información, no un obstáculo.
- Un PR es un contrato de revisión.
- Una tarea o un agente, un worktree y una rama.