Colaboración
GitSCase está diseñado para que múltiples desarrolladores trabajen en el mismo proyecto de ScriptCase sin pisarse los cambios.
Metodología recomendada: Lee primero la Metodología con Backups para entender cómo configurar el equipo correctamente usando backups de ScriptCase.
Cómo funciona la colaboración
Desarrollador A hace cambios
- Trabaja en ScriptCase
- GitSCase detecta los cambios
- Hace commit en GitSCase
- Hace commit + push en GitHub Desktop
Desarrollador B recibe cambios
- Hace pull en GitHub Desktop
- Abre GitSCase Desktop
- Usa Detección para ver los cambios
- Aplica los cambios en su ScriptCase
Resultado: Ambos tienen el mismo código.
Setup inicial del equipo
1. Líder crea el repositorio
El líder del equipo (o el primero en configurar):
- Vincula el proyecto en GitSCase
- Hace la primera detección
- Hace commit de todo
- Crea un repositorio en GitHub
- Publica el repositorio
En GitHub Desktop:
- File → Add local repository
- Selecciona la carpeta del proyecto
- Create repository
- Commit to main
- Publish repository
- Marca como Privado (importante para proyectos de trabajo)
2. Equipo clona el repositorio
Los demás desarrolladores:
- Clonan el repositorio con GitHub Desktop
- Abren GitSCase Desktop
- Abren el proyecto en ScriptCase (para que GitSCase lo detecte)
- Vinculan el proyecto a la carpeta clonada
En GitHub Desktop:
- File → Clone repository
- Selecciona el repositorio del equipo
- Elige carpeta local
- Clone
En GitSCase:
- Abre ScriptCase desde GitSCase
- Abre el proyecto en ScriptCase
- GitSCase lo detectará
- Configura la carpeta → Selecciona la carpeta que clonaste
¡Listo! Todo el equipo está sincronizado.
Rutina diaria
Al empezar el día
1. Abre GitHub Desktop
2. Fetch origin
3. Pull origin (si hay cambios)
4. Abre GitSCase Desktop
5. Detecta y aplica cambios
6. Refresca ScriptCase
7. Empieza a trabajar
Al terminar el día
1. Commitea en GitSCase Desktop
2. Abre GitHub Desktop
3. Revisa los cambios
4. Escribe mensaje de commit
5. Commit to main
6. Push origin
Haz esto al menos 2 veces al día (mañana y tarde) para evitar conflictos grandes.
Conflictos
¿Qué es un conflicto?
Un conflicto ocurre cuando dos personas modifican el mismo archivo en las mismas líneas.
Ejemplo:
- Tú cambias la línea 10 de
onExecute.php - Tu compañero también cambia la línea 10 del mismo archivo
- Ambos hacen push
- Git no sabe cuál cambio mantener
Detectar conflictos
GitHub Desktop te avisará al hacer pull:
⚠️ Conflictos detectados
Los siguientes archivos tienen conflictos:
- root/Admin/form_usuarios/events/onExecute.php
Resolver conflictos
- Abre el archivo en tu editor de código (VS Code, Notepad++, etc.)
- Busca las marcas de conflicto:
<<<<<<< HEAD
// Tu código
sc_lookup(ds, "SELECT * FROM usuarios WHERE id = {id}");
=======
// Código del compañero
sc_select(ds, "SELECT * FROM usuarios WHERE user_id = {id}");
>>>>>>> main
- Decide qué código mantener (o combina ambos):
// Código final (después de resolver)
sc_lookup(ds, "SELECT * FROM usuarios WHERE id = {id}");
- Elimina las marcas de conflicto (
<<<<<<<,=======,>>>>>>>) - Guarda el archivo
- En GitHub Desktop, haz commit del merge
Aplicar el código resuelto
Después de resolver en Git:
- Abre GitSCase Desktop
- Detecta cambios
- Aplica el archivo resuelto en ScriptCase
Estrategias para evitar conflictos
1. Dividir el trabajo
Asigna diferentes módulos o aplicaciones a cada desarrollador:
✅ Buena división:
- Dev A: Módulo de usuarios
- Dev B: Módulo de reportes
- Dev C: Módulo de configuración
❌ Mala división:
- Todos trabajando en el mismo formulario
2. Comunicación constante
Usa un canal de comunicación (Slack, Teams, WhatsApp):
💬 "Voy a modificar form_usuarios"
💬 "Terminé con grid_ventas, ya hice push"
💬 "¿Alguien está trabajando en el módulo de reportes?"
3. Commits frecuentes
Haz commits pequeños y frecuentes:
✅ Bueno:
- Commit cada 1-2 horas
- Commits pequeños y específicos
- Push al menos 2 veces al día
❌ Malo:
- Commit al final del día con 50 archivos
- Acumular cambios por días
4. Pull antes de push
Siempre haz pull antes de push:
1. Fetch origin
2. Pull origin
3. Resolver conflictos (si hay)
4. Push origin
Esto detecta conflictos temprano.
Ramas (branches)
Para proyectos grandes o features complejas, usa ramas:
Crear rama
En GitHub Desktop:
1. Branch → New branch
2. Nombre: feature/nuevo-modulo-ventas
3. Create branch
Trabajar en la rama
- Haz cambios en ScriptCase
- Commitea en GitSCase
- Push a la rama en GitHub Desktop
Merge a main
Cuando termines:
1. Branch → Create pull request
2. Revisa los cambios en GitHub.com
3. Merge pull request
4. Otros devs hacen pull de main
Las ramas son opcionales. Para equipos pequeños, trabajar directo en main está bien si se comunican bien.
Buenas prácticas
✅ Hacer
- Commitea frecuentemente (cada 1-2 horas)
- Haz pull al menos 2 veces al día
- Usa mensajes de commit descriptivos
- Comunica qué estás modificando
- Revisa el diff antes de commitear
- Resuelve conflictos apenas aparezcan
❌ Evitar
- Acumular cambios por días
- Hacer push sin hacer pull primero
- Trabajar en el mismo archivo sin coordinarse
- Usar mensajes de commit vagos ("fix", "cambios")
- Ignorar conflictos
Ejemplo real de flujo
Lunes 9:00 AM:
Dev A:
1. Abre GitHub Desktop → Pull
2. Abre GitSCase → Detecta cambios → Aplica
3. Refresca ScriptCase
4. Empieza a trabajar en form_usuarios
Lunes 11:00 AM:
Dev A:
1. Termina cambios en form_usuarios
2. GitSCase → Commit
3. GitHub Desktop → Commit + Push
4. Avisa en el chat: "Terminé form_usuarios, ya hice push"
Lunes 11:05 AM:
Dev B:
1. Ve el mensaje en el chat
2. GitHub Desktop → Pull
3. GitSCase → Detecta cambios → Aplica
4. Refresca ScriptCase
5. Ahora tiene los cambios de Dev A
Próximos pasos
- Commit — Guarda tus cambios
- Detección — Recibe cambios de otros
- Estructura del repositorio — Entiende cómo se organizan los archivos