📝 BLOG

Git والتحكم في الإصدارات: الأوامر الأساسية وسير العمل

Git هي أداة fundamental لـ modern software development. يغطي هذا الدليل comandos básicos de Git واستراتيجيات branching وworkflows.

آخر تحديث:

إعداد: Gsetsoft

Git والتحكم في الإصدارات: الأوامر الأساسية وسير العمل

ما هو Git ولماذا استخدامه؟

Git هو sistema de control de versiones distribuido. rastrea cambios de código، gestiona diferentes versiones y facilita colaboración en equipo.

Estructura distribuida: cada desarrollador tiene una copia completa del repositorio. esto permite trabajo offline y operaciones rápidas.

Branching: cree ramas separadas para diferentes características o correcciones. esto mantiene código principal (main/master) siempre estable.

Merge y rebase: fusione ramas en la rama principal. merge preserva historial de commits. rebase crea historial lineal.

Comandos Básicos de Git

git init: crea un nuevo repositorio. git clone <url>: copia un repositorio existente.

git add <file>: agrega cambios al área de staging. git add .: agrega todos los cambios.

git commit -m "mensaje": confirma los cambios en staging. escriba mensajes de commit significativos.

git status: verifica el estado del repositorio. git log: visualiza el historial de commits.

git diff: ve las diferencias entre el directorio de trabajo y el área de staging. git diff --staged: ve las diferencias entre el área de staging y el último commit.

Branching y Merging

git branch <name>: crea una nueva rama. git checkout <name> o git switch <name>: cambia a la rama.

git merge <branch>: fusiona la rama en la rama actual. usa fast-forward merge o three-way merge.

Conflicto de merge: se requiere resolución manual para cambios conflictivos. edite los archivos conflictivos، márquelos con git add، complete con git commit.

git branch -d <name>: elimina la rama. git branch -D <name>: fuerza la eliminación de una rama no fusionada.

Operaciones de Repositorio Remoto

git remote add origin <url>: agrega repositorio remoto. git remote -v: lista los remotos.

git push origin <branch>: envía cambios locales al remoto. git push -u origin main: establece la rama upstream.

git pull: obtiene y fusiona cambios remotos. git fetch: obtiene cambios remotos (sin fusionar).

git push --force: actualiza forzadamente la rama remota (usar con cuidado). git push --force-with-lease: force push más seguro.

Estrategias de Branching

Git Flow: main (producción)، develop (desarrollo)، feature/* (nuevas características)، release/* (preparación de versión)، hotfix/* (correcciones urgentes).

GitHub Flow: rama main + ramas de características. cada rama de característica se fusiona a main mediante pull request. simple y efectivo.

Trunk-Based Development: una sola rama main، ramas de características de corta duración (1-2 días). combinado con integración continua (CI/CD).

Criterios de selección: Git Flow para proyectos grandes، GitHub Flow para proyectos pequeños-medianos، Trunk-Based Development para equipos con CI/CD maduro.

Mejores Prácticas

Mensajes de commit: use modo imperativo ('Add feature' no 'Added feature'). limite la primera línea a 50 caracteres، los detalles a 72 caracteres.

Commits atómicos: cada commit debe contener un solo cambio. divida los cambios grandes en commits pequeños.

Nomenclatura de ramas: use nombres descriptivos como feature/user-authentication، bugfix/login-error، hotfix/security-patch.

.gitignore: ignore archivos innecesarios (node_modules، .env، build/). use las plantillas de gitignore de GitHub.

Pull request: use pull requests para revisión de código. cada cambio debe ser revisado por al menos una persona.

أدوات ذات صلة

أدلة الاستخدام خطوة بخطوة

اختيار الخصوصية

تدعم ملفات الارتباط الأساسية الأمان والجلسات. نعد الزيارات الأساسية أيضًا؛ وبموافقتك نفعّل تحليلات استخدام إضافية. سياسة ملفات الارتباط