From bb85c9312e90c1f1ee0f643c8440718389079127 Mon Sep 17 00:00:00 2001
From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
Date: Wed, 4 Mar 2026 06:23:06 +0000
Subject: [PATCH 01/15] Initial plan
From b11099513f184fc301684404810104ef43fd79d8 Mon Sep 17 00:00:00 2001
From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
Date: Wed, 4 Mar 2026 06:29:53 +0000
Subject: [PATCH 02/15] Fix localization issues: corrupted emojis in Spanish
TOC, missing self-references in Portuguese and Chinese language lists
Co-authored-by: arslanbilal <5616595+arslanbilal@users.noreply.github.com>
---
other-sheets/git-cheat-sheet-es.md | 4 ++--
other-sheets/git-cheat-sheet-pt_BR.md | 1 +
other-sheets/git-cheat-sheet-zh.md | 1 +
3 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/other-sheets/git-cheat-sheet-es.md b/other-sheets/git-cheat-sheet-es.md
index d318b2e..3a2153e 100644
--- a/other-sheets/git-cheat-sheet-es.md
+++ b/other-sheets/git-cheat-sheet-es.md
@@ -20,8 +20,8 @@ Esta guía completa de referencia de Git es un recurso integral para cualquiera
## 📑 Tabla de Contenidos
-- [� Acerca de esta Guía](#acerca-de-esta-guía)
-- [�🔧 Configuración Inicial](#configuración-inicial)
+- [📖 Acerca de esta Guía](#acerca-de-esta-guía)
+- [🔧 Configuración Inicial](#configuración-inicial)
- [📁 Configuración de Repositorio](#configuración-de-repositorio)
- [📊 Comandos de Estado](#comandos-de-estado)
- [📝 Gestión de Archivos](#gestión-de-archivos)
diff --git a/other-sheets/git-cheat-sheet-pt_BR.md b/other-sheets/git-cheat-sheet-pt_BR.md
index 85222e7..ed583dc 100644
--- a/other-sheets/git-cheat-sheet-pt_BR.md
+++ b/other-sheets/git-cheat-sheet-pt_BR.md
@@ -853,6 +853,7 @@ Esta folha de dicas está disponível em múltiplos idiomas:
| 🇬🇷 Grego | [git-cheat-sheet-el.md](./git-cheat-sheet-el.md) |
| 🇮🇳 Hindi | [git-cheat-sheet-hi.md](./git-cheat-sheet-hi.md) |
| 🇰🇷 Coreano | [git-cheat-sheet-ko.md](./git-cheat-sheet-ko.md) |
+| 🇧🇷 **Português (Brasil)** | **atual** |
| 🇵🇱 Polonês | [git-cheat-sheet-pl.md](./git-cheat-sheet-pl.md) |
| 🇹🇷 Turco | [git-cheat-sheet-tr.md](./git-cheat-sheet-tr.md) |
diff --git a/other-sheets/git-cheat-sheet-zh.md b/other-sheets/git-cheat-sheet-zh.md
index 6eed0ba..dad0ac9 100644
--- a/other-sheets/git-cheat-sheet-zh.md
+++ b/other-sheets/git-cheat-sheet-zh.md
@@ -856,6 +856,7 @@ git flow hotfix finish 版本
| 🇰🇷 韩语 | [git-cheat-sheet-ko.md](./git-cheat-sheet-ko.md) |
| 🇵🇱 波兰语 | [git-cheat-sheet-pl.md](./git-cheat-sheet-pl.md) |
| 🇹🇷 土耳其语 | [git-cheat-sheet-tr.md](./git-cheat-sheet-tr.md) |
+| 🇨🇳 **中文** | **当前** |
---
From dc5fa49c24abd86de31372eb5d6150800ed6c8a9 Mon Sep 17 00:00:00 2001
From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
Date: Wed, 4 Mar 2026 07:06:29 +0000
Subject: [PATCH 03/15] Rewrite Spanish cheat sheet to match English format
Restructured the Spanish Git cheat sheet to match the exact same
structure and format as the English README.md:
- Same sections and subsections with matching hierarchy
- Individual bash code blocks per command with bold descriptions
- All git commands from English version present
- Same Table of Contents structure
- Full Git Flow section (setup, getting started, features, releases,
hotfixes, commands overview)
- Matching warnings, notes, and tips in the same places
- Proper image paths using ../Img/ prefix
- Other Languages section with Spanish marked as current
- Contributing and License sections
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
---
other-sheets/git-cheat-sheet-es.md | 1035 ++++++++++++++++------------
1 file changed, 610 insertions(+), 425 deletions(-)
diff --git a/other-sheets/git-cheat-sheet-es.md b/other-sheets/git-cheat-sheet-es.md
index 3a2153e..9c3ed99 100644
--- a/other-sheets/git-cheat-sheet-es.md
+++ b/other-sheets/git-cheat-sheet-es.md
@@ -1,680 +1,865 @@
-# Git Cheat Sheet Español
+# Hoja de Referencia de Git y Git Flow
+[](https://github.com/sindresorhus/awesome)
-
-
-Una guía de referencia rápida para los comandos de Git más utilizados, organizados por categorías para facilitar su consulta.
+
+
+
---
-## 📖 Acerca de esta Guía
+## 📖 Acerca de
-Esta guía completa de referencia de Git es un recurso integral para cualquiera que busque mejorar su flujo de trabajo con Git. Desde principiantes que comienzan su viaje con Git hasta desarrolladores experimentados, esta guía proporciona comandos organizados y categorizados para acelerar tu proceso de desarrollo.
+Esta completa hoja de referencia de Git te ayuda a dominar los comandos de Git sin memorizar todo. Ya seas principiante o un desarrollador experimentado, esta guía proporciona una referencia rápida a las operaciones esenciales de Git.
-### Características Principales:
-- **Categorías organizadas**: Los comandos están organizados en grupos claros y lógicos
-- **Ejemplos prácticos**: Con casos de uso del mundo real
-- **Amigable para principiantes**: Con explicaciones claras y consejos
-- **Referencia rápida**: Acceso rápido a comandos esenciales
+**¡Contribuciones bienvenidas!** Puedes:
+- Corregir errores gramaticales
+- Agregar nuevos comandos
+- Traducir a tu idioma
+- Mejorar las explicaciones
---
-
-## 📑 Tabla de Contenidos
-
-- [📖 Acerca de esta Guía](#acerca-de-esta-guía)
-- [🔧 Configuración Inicial](#configuración-inicial)
-- [📁 Configuración de Repositorio](#configuración-de-repositorio)
-- [📊 Comandos de Estado](#comandos-de-estado)
-- [📝 Gestión de Archivos](#gestión-de-archivos)
-- [💾 Commits](#commits)
-- [🌿 Ramas (Branches)](#ramas-branches)
-- [🔀 Fusión (Merge)](#fusión-merge)
-- [🌐 Remotos](#remotos)
-- [📚 Historial y Logs](#historial-y-logs)
-- [🏷️ Etiquetas (Tags)](#etiquetas-tags)
-- [↩️ Deshacer Cambios](#deshacer-cambios)
-- [📦 Stash](#stash)
-- [🌊 Git Flow](#git-flow)
-- [⚙️ Archivos de Configuración](#archivos-de-configuración)
-- [🔍 Búsqueda](#búsqueda)
-- [📁 Mover/Renombrar](#moverrenombrar)
-- [💡 Consejos Útiles](#consejos-útiles)
-- [🌍 Otros Idiomas](#otros-idiomas)
-- [🤝 Contribuir](#contribuir)
-- [📄 Licencia](#licencia)
-- [📖 Recursos Adicionales](#recursos-adicionales)
+## 📋 Tabla de Contenidos
+
+- [🔧 Configuración](#-configuración)
+- [⚙️ Archivos de Configuración](#️-archivos-de-configuración)
+- [🆕 Crear Repositorio](#-crear-repositorio)
+- [📝 Cambios Locales](#-cambios-locales)
+- [🔍 Búsqueda](#-búsqueda)
+- [📖 Historial de Commits](#-historial-de-commits)
+- [📁 Mover / Renombrar](#-mover--renombrar)
+- [🌿 Ramas y Etiquetas](#-ramas-y-etiquetas)
+- [🔄 Actualizar y Publicar](#-actualizar-y-publicar)
+- [🔀 Fusionar y Rebase](#-fusionar-y-rebase)
+- [↩️ Deshacer](#️-deshacer)
+- [🌊 Git Flow](#-git-flow)
+- [🌍 Otros Idiomas](#-otros-idiomas)
---
-## 🔧 Configuración Inicial
+## 🔧 Configuración
-Configurar Git con tu información personal:
+### Ver Configuración
+**Mostrar la configuración actual:**
```bash
-# Configurar nombre de usuario
-git config --global user.name "Tu Nombre"
-
-# Configurar email
-git config --global user.email "tuemail@ejemplo.com"
-
-# Ver configuración actual
git config --list
+```
-# Configurar editor por defecto
-git config --global core.editor "nano"
+**Mostrar la configuración del repositorio:**
+```bash
+git config --local --list
+```
-# Configurar herramienta de diff
-git config --global merge.tool vimdiff
+**Mostrar la configuración global:**
+```bash
+git config --global --list
```
----
+**Mostrar la configuración del sistema:**
+```bash
+git config --system --list
+```
-## 📁 Configuración de Repositorio
+### Configuración de Usuario
-### Inicializar un nuevo repositorio:
+**Establecer tu nombre para el historial de versiones:**
+```bash
+git config --global user.name "[firstname lastname]"
+```
+**Establecer tu dirección de correo electrónico:**
```bash
-# Crear un nuevo repositorio Git
-git init
+git config --global user.email "[valid-email]"
+```
-# Clonar un repositorio existente
-git clone
+### Configuración de Pantalla y Editor
-# Clonar a un directorio específico
-git clone
+**Habilitar el coloreado automático en la línea de comandos:**
+```bash
+git config --global color.ui auto
```
----
-
-## 📊 Comandos de Estado
+**Establecer el editor global para commits:**
+```bash
+git config --global core.editor vi
+```
-### Verificar el estado de tu repositorio:
+---
-```bash
-# Mostrar estado actual del repositorio
-git status
+## ⚙️ Archivos de Configuración
-# Mostrar estado en formato corto
-git status -s
+| Alcance | Ubicación | Flag de Comando |
+|---------|-----------|-----------------|
+| **Repositorio** | `/.git/config` | `--local` |
+| **Usuario** | `~/.gitconfig` | `--global` |
+| **Sistema** | `/etc/gitconfig` | `--system` |
-# Mostrar estado ignorando archivos no rastreados
-git status --ignored
+---
-# Mostrar diferencias en archivos modificados
-git diff
+## 🆕 Crear Repositorio
-# Mostrar diferencias en el área de preparación
-git diff --staged
+### Clonar Repositorio Existente
-# Mostrar diferencias entre ramas
-git diff
+**Vía SSH:**
+```bash
+git clone ssh://user@domain.com/repo.git
```
----
-
-## 📝 Gestión de Archivos
+**Vía HTTPS:**
+```bash
+git clone https://domain.com/user/repo.git
+```
-### Agregar y remover archivos:
+### Inicializar Nuevo Repositorio
+**Crear repositorio en el directorio actual:**
```bash
-# Agregar archivo específico al área de preparación
-git add
+git init
+```
-# Agregar todos los archivos modificados
-git add .
+**Crear repositorio en un directorio específico:**
+```bash
+git init
+```
-# Agregar todos los archivos de un tipo específico
-git add *.txt
+---
-# Agregar interactivamente
-git add -i
+## 📝 Cambios Locales
-# Remover archivo del repositorio y del directorio de trabajo
-git rm
+### Verificar Estado y Diferencias
-# Remover archivo solo del repositorio (mantener en directorio)
-git rm --cached
+**Ver el estado del directorio de trabajo:**
+```bash
+git status
+```
-# Mover/renombrar archivo
-git mv
+**Mostrar cambios en archivos rastreados:**
+```bash
+git diff
```
----
+**Mostrar cambios en un archivo específico:**
+```bash
+git diff
+```
-## 💾 Commits
+### Preparar Cambios (Staging)
-### Guardar cambios en el repositorio:
+**Agregar todos los cambios actuales:**
+```bash
+git add .
+```
+**Agregar archivos específicos:**
```bash
-# Hacer commit con mensaje
-git commit -m "Mensaje del commit"
+git add
+```
-# Hacer commit agregando todos los archivos modificados
-git commit -am "Mensaje del commit"
+**Agregar partes de un archivo de forma interactiva:**
+```bash
+git add -p
+```
-# Modificar el último commit
-git commit --amend
+### Confirmar Cambios (Commits)
-# Hacer commit vacío (útil para triggers de CI/CD)
-git commit --allow-empty -m "Trigger CI"
+**Confirmar todos los cambios en archivos rastreados:**
+```bash
+git commit -a
+```
-# Hacer commit con mensaje detallado (abre editor)
+**Confirmar los cambios preparados:**
+```bash
git commit
```
----
-
-## 🌿 Ramas (Branches)
+**Confirmar con un mensaje:**
+```bash
+git commit -m 'message here'
+```
-### Trabajar con ramas:
+**Saltar el staging y confirmar con un mensaje:**
+```bash
+git commit -am 'message here'
+```
+**Confirmar con una fecha específica:**
```bash
-# Listar todas las ramas
-git branch
+git commit --date="`date --date='n day ago'`" -am ""
+```
-# Listar ramas remotas
-git branch -r
+### Modificar Último Commit
-# Listar todas las ramas (locales y remotas)
-git branch -a
+> ⚠️ **Advertencia:** ¡No modifiques commits ya publicados!
+
+**Modificar el último commit:**
+```bash
+git commit -a --amend
+```
-# Crear nueva rama
-git branch
+**Modificar sin cambiar el mensaje del commit:**
+```bash
+git commit --amend --no-edit
+```
+
+**Cambiar la fecha del committer:**
+```bash
+GIT_COMMITTER_DATE="date" git commit --amend
+```
-# Cambiar a una rama
-git checkout
+**Cambiar la fecha del autor:**
+```bash
+git commit --amend --date="date"
+```
-# Crear y cambiar a nueva rama
-git checkout -b
+### Guardar Cambios Temporalmente (Stash)
-# Crear rama desde un commit específico
-git checkout -b
+**Guardar los cambios actuales temporalmente:**
+```bash
+git stash
+```
-# Eliminar rama
-git branch -d
+**Aplicar los últimos cambios guardados:**
+```bash
+git stash apply
+```
-# Eliminar rama forzadamente
-git branch -D
+**Aplicar un stash específico:**
+```bash
+git stash apply stash@{stash_number}
+```
+> Usa `git stash list` para ver los stashes disponibles
-# Renombrar rama actual
-git branch -m
+**Eliminar el último stash:**
+```bash
+git stash drop
+```
-# Renombrar rama específica
-git branch -m
+**Mover cambios no confirmados a otra rama:**
+```bash
+git stash
+git checkout branch2
+git stash pop
```
---
-## 🔀 Fusión (Merge)
+## 🔍 Búsqueda
-### Fusionar cambios entre ramas:
+### Búsqueda de Texto
+**Buscar texto en todos los archivos:**
```bash
-# Fusionar rama en la rama actual
-git merge
+git grep "Hello"
+```
-# Fusionar sin fast-forward (crear commit de merge)
-git merge --no-ff
+**Buscar en una versión específica:**
+```bash
+git grep "Hello" v2.5
+```
-# Fusionar solo si es fast-forward
-git merge --ff-only
+### Búsqueda en Commits
-# Abortar fusión en curso
-git merge --abort
+**Encontrar commits que introdujeron una palabra clave específica:**
+```bash
+git log -S 'keyword'
+```
-# Continuar fusión después de resolver conflictos
-git merge --continue
+**Buscar con expresión regular:**
+```bash
+git log -S 'keyword' --pickaxe-regex
```
---
-## 🌐 Remotos
+## 📖 Historial de Commits
-### Gestionar repositorios remotos:
+### Historial Básico
+**Mostrar todos los commits (detallado):**
```bash
-# Listar repositorios remotos
-git remote
+git log
+```
-# Listar repositorios remotos con URLs
-git remote -v
+**Mostrar commits (una línea cada uno):**
+```bash
+git log --oneline
+```
-# Agregar repositorio remoto
-git remote add
+**Mostrar commits de un autor específico:**
+```bash
+git log --author="username"
+```
-# Cambiar URL de repositorio remoto
-git remote set-url
+**Mostrar cambios de un archivo específico:**
+```bash
+git log -p
+```
+
+### Historial Avanzado
-# Eliminar repositorio remoto
-git remote remove
+**Comparar ramas:**
+```bash
+git log --oneline .. --left-right
+```
-# Subir cambios al repositorio remoto
-git push
+**Mostrar quién cambió qué y cuándo:**
+```bash
+git blame
+```
-# Subir rama y establecer tracking
-git push -u
+### Logs de Referencia
-# Subir todas las ramas
-git push --all
+**Mostrar el log de referencia:**
+```bash
+git reflog show
+```
-# Subir etiquetas
-git push --tags
+**Eliminar el log de referencia:**
+```bash
+git reflog delete
+```
-# Descargar cambios del repositorio remoto
-git pull
+---
-# Descargar cambios sin fusionar
-git fetch
+## 📁 Mover / Renombrar
-# Descargar todas las ramas remotas
-git fetch --all
+**Renombrar un archivo:**
+```bash
+git mv Index.txt Index.html
```
---
-## 📚 Historial y Logs
+## 🌿 Ramas y Etiquetas
-### Explorar el historial de commits:
+### Listar Ramas
+**Listar ramas locales:**
```bash
-# Mostrar historial de commits
-git log
+git branch
+```
-# Mostrar historial en una línea por commit
-git log --oneline
+**Listar todas las ramas (locales + remotas):**
+```bash
+git branch -a
+```
-# Mostrar historial con gráfico
-git log --graph
+**Listar ramas remotas:**
+```bash
+git branch -r
+```
-# Mostrar historial de un archivo específico
-git log
+**Listar ramas fusionadas:**
+```bash
+git branch --merged
+```
-# Mostrar estadísticas de commits
-git log --stat
+### Cambiar y Crear Ramas
-# Mostrar cambios en cada commit
-git log -p
+**Cambiar a una rama existente:**
+```bash
+git checkout
+```
-# Mostrar últimos N commits
-git log -n
+**Crear y cambiar a una nueva rama:**
+```bash
+git checkout -b
+```
-# Mostrar commits entre fechas
-git log --since="2023-01-01" --until="2023-12-31"
+**Cambiar a la rama anterior:**
+```bash
+git checkout -
+```
-# Mostrar commits por autor
-git log --author="Nombre del Autor"
+**Crear una rama a partir de una rama existente:**
+```bash
+git checkout -b
+```
-# Buscar en mensajes de commit
-git log --grep="palabra clave"
+**Crear una rama a partir de un commit específico:**
+```bash
+git checkout -b
```
----
+**Crear una rama sin cambiar a ella:**
+```bash
+git branch
+```
-## 🏷️ Etiquetas (Tags)
+**Crear una rama de seguimiento (tracking):**
+```bash
+git branch --track
+```
-### Gestionar etiquetas de versión:
+### Operaciones con Ramas
+**Obtener un archivo individual de otra rama:**
```bash
-# Listar todas las etiquetas
-git tag
+git checkout --
+```
-# Crear etiqueta ligera
-git tag
+**Aplicar un commit específico de otra rama:**
+```bash
+git cherry-pick
+```
+
+**Renombrar la rama actual:**
+```bash
+git branch -m
+```
+
+**Eliminar una rama local:**
+```bash
+git branch -d
+```
-# Crear etiqueta anotada
-git tag -a -m "Mensaje de la etiqueta"
+**Forzar la eliminación de una rama local:**
+```bash
+git branch -D
+```
+> ⚠️ **Advertencia:** ¡Perderás los cambios no fusionados!
-# Crear etiqueta en commit específico
-git tag -a
+### Etiquetas
-# Mostrar información de una etiqueta
-git show
+**Crear una etiqueta en HEAD:**
+```bash
+git tag
+```
-# Eliminar etiqueta local
-git tag -d
+**Crear una etiqueta anotada:**
+```bash
+git tag -a
+```
-# Eliminar etiqueta remota
-git push --delete
+**Crear una etiqueta con mensaje:**
+```bash
+git tag -am 'message here'
+```
-# Subir etiqueta específica
-git push
+**Listar todas las etiquetas:**
+```bash
+git tag
+```
-# Subir todas las etiquetas
-git push --tags
+**Listar etiquetas con sus mensajes:**
+```bash
+git tag -n
```
---
-## ↩️ Deshacer Cambios
+## 🔄 Actualizar y Publicar
-### Revertir modificaciones:
+### Gestión de Remotos
+**Listar los remotos configurados:**
```bash
-# Descartar cambios en archivo específico
-git checkout
+git remote -v
+```
-# Descartar todos los cambios no confirmados
-git checkout .
+**Mostrar información de un remoto:**
+```bash
+git remote show
+```
-# Revertir archivo a versión específica
-git checkout
+**Agregar un nuevo remoto:**
+```bash
+git remote add
+```
-# Quitar archivo del área de preparación
-git reset
+**Renombrar un remoto:**
+```bash
+git remote rename
+```
-# Quitar todos los archivos del área de preparación
-git reset
+**Eliminar un remoto:**
+```bash
+git remote rm
+```
+> ℹ️ **Nota:** Esto solo elimina la referencia remota localmente, no el repositorio remoto en sí.
-# Revertir al commit anterior (mantener cambios)
-git reset --soft HEAD~1
+### Fetch y Pull
-# Revertir al commit anterior (descartar cambios)
-git reset --hard HEAD~1
+**Descargar cambios sin fusionar:**
+```bash
+git fetch
+```
-# Revertir a commit específico
-git reset --hard
+**Descargar y fusionar cambios:**
+```bash
+git pull
+```
-# Crear commit que revierte otro commit
-git revert
+**Obtener cambios de la rama principal:**
+```bash
+git pull origin master
+```
-# Revertir múltiples commits
-git revert ..
+**Pull con rebase:**
+```bash
+git pull --rebase
```
----
+### Push y Publicar
-## 📦 Stash
+**Publicar cambios locales:**
+```bash
+git push
+```
-### Guardar trabajo temporalmente:
+**Eliminar una rama remota:**
+```bash
+# Git v1.7.0+
+git push --delete
+
+# Git v1.5.0+
+git push :
+```
+**Publicar etiquetas:**
```bash
-# Guardar cambios actuales en stash
-git stash
+git push --tags
+```
-# Guardar con mensaje descriptivo
-git stash save "Mensaje descriptivo"
+---
-# Listar todos los stashes
-git stash list
+## 🔀 Fusionar y Rebase
-# Aplicar el último stash
-git stash apply
+### Operaciones de Fusión
-# Aplicar stash específico
-git stash apply stash@{0}
+**Fusionar una rama en el HEAD actual:**
+```bash
+git merge
+```
-# Aplicar y eliminar el último stash
-git stash pop
+**Configurar herramienta de fusión globalmente:**
+```bash
+git config --global merge.tool meld
+```
-# Eliminar stash específico
-git stash drop stash@{0}
+**Usar la herramienta de fusión configurada:**
+```bash
+git mergetool
+```
-# Eliminar todos los stashes
-git stash clear
+### Operaciones de Rebase
-# Mostrar cambios en un stash
-git stash show stash@{0}
+> ⚠️ **Advertencia:** ¡No hagas rebase de commits ya publicados!
-# Crear rama desde un stash
-git stash branch stash@{0}
+**Hacer rebase del HEAD actual sobre una rama:**
+```bash
+git rebase
```
----
+**Abortar el rebase:**
+```bash
+git rebase --abort
+```
-## 🌊 Git Flow
+**Continuar el rebase después de resolver conflictos:**
+```bash
+git rebase --continue
+```
-Git Flow es un modelo de ramificación que define un flujo de trabajo estricto diseñado alrededor del lanzamiento del proyecto.
+### Resolución de Conflictos
-### Ramas principales:
-- **master/main**: Código de producción
-- **develop**: Rama de desarrollo principal
+**Marcar archivo como resuelto:**
+```bash
+git add
+```
-### Ramas de soporte:
-- **feature**: Para nuevas características
-- **release**: Para preparar nuevas versiones
-- **hotfix**: Para correcciones urgentes en producción
+**Eliminar archivo resuelto:**
+```bash
+git rm
+```
-### Comandos Git Flow:
+### Comprimir Commits (Squash)
+**Rebase interactivo para comprimir:**
```bash
-# Inicializar git flow
-git flow init
+git rebase -i
+```
+
+**Ejemplo de configuración de squash:**
+```
+# Antes
+pick
+pick
+pick
+
+# Después (comprimir commit_id2 y commit_id3 en commit_id)
+pick
+squash
+squash
+```
-# Iniciar nueva característica
-git flow feature start
+---
-# Finalizar característica
-git flow feature finish
+## ↩️ Deshacer
-# Publicar característica
-git flow feature publish
+### Descartar Cambios
-# Iniciar release
-git flow release start
+**Descartar todos los cambios locales:**
+```bash
+git reset --hard HEAD
+```
-# Finalizar release
-git flow release finish
+**Quitar todos los archivos del staging:**
+```bash
+git reset HEAD
+```
-# Iniciar hotfix
-git flow hotfix start
+**Descartar cambios en un archivo específico:**
+```bash
+git checkout HEAD
+```
-# Finalizar hotfix
-git flow hotfix finish
+### Operaciones de Reset
+
+**Resetear a un commit anterior (descartar todos los cambios):**
+```bash
+git reset --hard
```
-### Flujo de trabajo sin Git Flow:
+**Resetear al estado de la rama remota:**
+```bash
+git reset --hard
+# Ejemplo: git reset --hard upstream/master
+```
-
+**Resetear preservando cambios como no preparados:**
+```bash
+git reset
+```
+**Resetear preservando cambios locales no confirmados:**
```bash
-# Crear rama de característica
-git checkout develop
-git checkout -b feature/nueva-caracteristica
+git reset --keep
+```
-# Trabajar en la característica
-git add .
-git commit -m "Agregar nueva característica"
+### Revertir Commits
-# Fusionar característica en develop
-git checkout develop
-git merge --no-ff feature/nueva-caracteristica
-git branch -d feature/nueva-caracteristica
+**Revertir un commit (crear un nuevo commit con cambios opuestos):**
+```bash
+git revert
+```
-# Crear rama de release
-git checkout develop
-git checkout -b release/1.0.0
+### Limpiar Archivos Ignorados
-# Finalizar release
-git checkout master
-git merge --no-ff release/1.0.0
-git tag -a 1.0.0 -m "Versión 1.0.0"
-git checkout develop
-git merge --no-ff release/1.0.0
-git branch -d release/1.0.0
+**Eliminar archivos confirmados accidentalmente que deberían ser ignorados:**
+```bash
+git rm -r --cached .
+git add .
+git commit -m "remove ignored files"
```
---
-## ⚙️ Archivos de Configuración
+## 🌊 Git Flow
-Git utiliza archivos de configuración para almacenar preferencias de usuario y repositorio:
+**Git-flow mejorado:** [git-flow-avh](https://github.com/petervanderdoes/gitflow-avh)
-### Niveles de configuración:
+### 📋 Tabla de Contenidos
+- [🔧 Instalación](#instalación)
+- [🚀 Primeros Pasos](#primeros-pasos)
+- [✨ Funcionalidades](#funcionalidades)
+- [🎁 Crear un Release](#crear-un-release)
+- [🔥 Hotfixes](#hotfixes)
+- [📊 Resumen de Comandos](#resumen-de-comandos)
-```bash
-# Sistema (todos los usuarios)
-git config --system
+---
-# Usuario (usuario actual)
-git config --global
+### 🔧 Instalación {#instalación}
+
+> **Prerrequisito:** Se requiere una instalación funcional de Git. Git-flow funciona en macOS, Linux y Windows.
+
+**macOS (Homebrew):**
+```bash
+brew install git-flow-avh
+```
-# Repositorio (proyecto específico)
-git config --local
+**macOS (MacPorts):**
+```bash
+port install git-flow
```
-### Configuraciones comunes:
+**Linux (basado en Debian):**
+```bash
+sudo apt-get install git-flow
+```
+**Windows (Cygwin):**
+> Requiere wget y util-linux
```bash
-# Identidad del usuario
-git config --global user.name "Tu Nombre"
-git config --global user.email "email@ejemplo.com"
+wget -q -O - --no-check-certificate https://raw.githubusercontent.com/petervanderdoes/gitflow/develop/contrib/gitflow-installer.sh install | bash
+```
-# Editor de texto
-git config --global core.editor nano
+---
-# Herramienta de merge
-git config --global merge.tool vimdiff
+### 🚀 Primeros Pasos
-# Colores en la salida
-git config --global color.ui auto
+Git-flow necesita inicialización para personalizar la configuración de tu proyecto.
-# Ver configuraciones
-git config --list
+**Inicializar (interactivo):**
+```bash
+git flow init
+```
+> Responderás preguntas sobre las convenciones de nombres de ramas. Se recomiendan los valores predeterminados.
+
+**Inicializar (usar valores predeterminados):**
+```bash
+git flow init -d
```
---
-## 🔍 Búsqueda
+### ✨ Funcionalidades
-### Buscar en el historial y contenido:
+Las funcionalidades son para desarrollar nueva funcionalidad para próximos lanzamientos. Normalmente solo existen en los repositorios de los desarrolladores.
+**Iniciar nueva funcionalidad:**
```bash
-# Buscar en mensajes de commit
-git log --grep="palabra-clave"
-
-# Buscar cambios en el código
-git log -S "fragmento de código"
-
-# Buscar en archivos de trabajo
-git grep "patrón"
+git flow feature start MYFEATURE
+```
+> Crea una rama de funcionalidad basada en 'develop' y cambia a ella
-# Buscar en commit específico
-git grep "patrón"
+**Finalizar funcionalidad:**
+```bash
+git flow feature finish MYFEATURE
+```
+> Esto hará lo siguiente:
+> 1. Fusionar MYFEATURE en 'develop'
+> 2. Eliminar la rama de funcionalidad
+> 3. Cambiar de vuelta a 'develop'
-# Buscar ignorando mayúsculas/minúsculas
-git grep -i "patrón"
+**Publicar funcionalidad (para colaboración):**
+```bash
+git flow feature publish MYFEATURE
+```
-# Buscar palabras completas
-git grep -w "palabra"
+**Obtener funcionalidad publicada:**
+```bash
+git flow feature pull origin MYFEATURE
+```
-# Mostrar números de línea
-git grep -n "patrón"
+**Rastrear funcionalidad en origin:**
+```bash
+git flow feature track MYFEATURE
```
---
-## 📁 Mover/Renombrar
+### 🎁 Crear un Release
-### Mover y renombrar archivos:
+Los releases permiten preparar nuevos lanzamientos de producción, permitiendo correcciones menores de errores y preparación de metadatos.
+**Iniciar release:**
```bash
-# Renombrar archivo
-git mv archivo_viejo.txt archivo_nuevo.txt
-
-# Mover archivo a carpeta
-git mv archivo.txt carpeta/
-
-# Renombrar carpeta
-git mv carpeta_vieja carpeta_nueva
+git flow release start RELEASE [BASE]
+```
+> Crea una rama de release desde 'develop'. Opcionalmente especifica el SHA-1 del commit [BASE].
-# Proceso de renombrado sin git mv
-mv archivo_viejo.txt archivo_nuevo.txt
-git add archivo_nuevo.txt
-git rm archivo_viejo.txt
+**Publicar release:**
+```bash
+git flow release publish RELEASE
+```
-# Rastrear renombrados en el log
-git log --follow archivo.txt
+**Rastrear release remoto:**
+```bash
+git flow release track RELEASE
+```
-# Detectar movimientos
-git log --stat -M
+**Finalizar release:**
+```bash
+git flow release finish RELEASE
```
+> Esto hará lo siguiente:
+> 1. Fusionar la rama de release en 'master'
+> 2. Etiquetar el release
+> 3. Re-fusionar el release en 'develop'
+> 4. Eliminar la rama de release
+
+> 💡 **No olvides:** Sube tus etiquetas con `git push --tags`
---
-## 💡 Consejos Útiles
+### 🔥 Hotfixes
-### Alias útiles:
+Los hotfixes abordan problemas críticos en versiones de producción en vivo. Se ramifican desde la etiqueta correspondiente en master.
+**Iniciar hotfix:**
```bash
-# Configurar alias útiles
-git config --global alias.st status
-git config --global alias.co checkout
-git config --global alias.br branch
-git config --global alias.ci commit
-git config --global alias.unstage 'reset HEAD --'
-git config --global alias.last 'log -1 HEAD'
-git config --global alias.visual '!gitk'
+git flow hotfix start VERSION [BASENAME]
```
-### Archivos .gitignore:
-
+**Finalizar hotfix:**
```bash
-# Crear archivo .gitignore
-echo "node_modules/" >> .gitignore
-echo "*.log" >> .gitignore
-echo ".env" >> .gitignore
-
-# Ignorar archivos ya rastreados
-git rm --cached
-echo "" >> .gitignore
-git add .gitignore
-git commit -m "Agregar archivo a .gitignore"
+git flow hotfix finish VERSION
```
+> Fusiona de vuelta tanto en 'develop' como en 'master', y etiqueta la fusión en master
---
-## 🌍 Otros Idiomas
+### 📊 Resumen de Comandos
-Esta hoja de referencia está disponible en los siguientes idiomas:
-
-- 🇺🇸 [English](../README.md)
-- 🇸🇦 [العربية](git-cheat-sheet-ar.md)
-- 🇧🇩 [বাংলা](git-cheat-sheet-bn.md)
-- 🇩🇪 [Deutsch](git-cheat-sheet-de.md)
-- 🇬🇷 [Ελληνικά](git-cheat-sheet-el.md)
-- 🇪🇸 **Español** (actual)
-- 🇮🇳 [हिन्दी](git-cheat-sheet-hi.md)
-- 🇰🇷 [한국어](git-cheat-sheet-ko.md)
-- 🇵🇱 [Polski](git-cheat-sheet-pl.md)
-- 🇧🇷 [Português](git-cheat-sheet-pt_BR.md)
-- 🇹🇷 [Türkçe](git-cheat-sheet-tr.md)
-- 🇨🇳 [中文](git-cheat-sheet-zh.md)
+
+
+
----
+### 🌊 Esquema de Git Flow
-## 🤝 Contribuir
+
+
+
-¡Las contribuciones son bienvenidas! Para ayudar a mejorar este proyecto:
+---
-1. **Reportar problemas**: Comparte errores o sugerencias de mejora
-2. **Agregar nuevos idiomas**: Crea traducciones o mejora las existentes
-3. **Mejorar contenido**: Agrega nuevos comandos, ejemplos o explicaciones
-4. **Dar retroalimentación**: Comparte tus experiencias y sugerencias
-### Cómo contribuir:
-- [Abrir un issue en GitHub](https://github.com/arslanbilal/git-cheat-sheet/issues)
-- Enviar un pull request
-- Sugerir mejoras de documentación
+## 🌍 Otros Idiomas
+
+Esta hoja de referencia está disponible en múltiples idiomas:
+
+| Idioma | Enlace |
+|--------|--------|
+| 🇸🇦 Árabe | [git-cheat-sheet-ar.md](git-cheat-sheet-ar.md) |
+| 🇧🇩 Bengalí | [git-cheat-sheet-bn.md](git-cheat-sheet-bn.md) |
+| 🇧🇷 Portugués Brasileño | [git-cheat-sheet-pt_BR.md](git-cheat-sheet-pt_BR.md) |
+| 🇨🇳 Chino | [git-cheat-sheet-zh.md](git-cheat-sheet-zh.md) |
+| 🇩🇪 Alemán | [git-cheat-sheet-de.md](git-cheat-sheet-de.md) |
+| 🇬🇷 Griego | [git-cheat-sheet-el.md](git-cheat-sheet-el.md) |
+| 🇮🇳 Hindi | [git-cheat-sheet-hi.md](git-cheat-sheet-hi.md) |
+| 🇰🇷 Coreano | [git-cheat-sheet-ko.md](git-cheat-sheet-ko.md) |
+| 🇵🇱 Polaco | [git-cheat-sheet-pl.md](git-cheat-sheet-pl.md) |
+| 🇪🇸 **Español** (actual) | |
+| 🇹🇷 Turco | [git-cheat-sheet-tr.md](git-cheat-sheet-tr.md) |
---
-## 📄 Licencia
+## 🤝 Contribuir
+
+¡Damos la bienvenida a las contribuciones! Puedes:
-Este proyecto está licenciado bajo la Licencia MIT. Consulta el archivo [LICENSE](../LICENSE) para más detalles.
+- 🐛 Reportar errores o erratas
+- ✨ Agregar nuevos comandos de Git
+- 🌍 Traducir a nuevos idiomas
+- 💡 Mejorar las explicaciones
+- 📝 Mejorar el formato
+
+**Cómo contribuir:**
+1. Haz un fork de este repositorio
+2. Crea tu rama de funcionalidad (`git checkout -b feature/FuncionalidadIncreible`)
+3. Confirma tus cambios (`git commit -m 'Agregar FuncionalidadIncreible'`)
+4. Sube la rama (`git push origin feature/FuncionalidadIncreible`)
+5. Abre un Pull Request
---
-## 📖 Recursos Adicionales
+## 📄 Licencia
-- [Documentación Oficial de Git](https://git-scm.com/doc)
-- [Tutoriales de Git de Atlassian](https://www.atlassian.com/git/tutorials)
-- [Hoja de Referencia de Git de GitHub](https://education.github.com/git-cheat-sheet-education.pdf)
-- [Tutorial Interactivo de Git](https://learngitbranching.js.org/)
-- [Libro Pro Git (gratuito)](https://git-scm.com/book/es/v2)
-- [Flujos de Trabajo con Git](https://www.atlassian.com/git/tutorials/comparing-workflows)
+Este proyecto es de código abierto y está disponible bajo la [Licencia MIT](../LICENSE).
---
-
- ⭐ ¡Si esta hoja de referencia es útil, dale una estrella!
- ¡Feliz codificación con Git! 🚀
-
+
+ ⭐ ¡Dale una estrella a este repositorio si te resultó útil!
+
From 8ab991783b0c6408d7e3518c758fa007c524a419 Mon Sep 17 00:00:00 2001
From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
Date: Wed, 4 Mar 2026 07:13:05 +0000
Subject: [PATCH 04/15] Update Arabic Git cheat sheet to match English format
- Restructure to match same sections/subsections as English README.md
- Each git command now has its own individual bash code block with bold description
- All git commands from English version present with Arabic translations
- Include same warnings, notes, and tips in matching positions
- Full Git Flow section with setup, getting started, features, releases, hotfixes
- Image paths use ../Img/ prefix
- Same Table of Contents structure as English
- Keep Other Languages, Contributing, and License sections
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
---
other-sheets/git-cheat-sheet-ar.md | 1017 +++++++++++++++++-----------
1 file changed, 615 insertions(+), 402 deletions(-)
diff --git a/other-sheets/git-cheat-sheet-ar.md b/other-sheets/git-cheat-sheet-ar.md
index 60453fb..831cd7a 100644
--- a/other-sheets/git-cheat-sheet-ar.md
+++ b/other-sheets/git-cheat-sheet-ar.md
@@ -1,653 +1,866 @@
-# Git Cheat Sheet العربية
+# الدليل المرجعي لـ Git و Git Flow
+[](https://github.com/sindresorhus/awesome)
-
-
-دليل مرجعي سريع لأكثر أوامر Git استخداماً، منظم حسب الفئات لسهولة الاستخدام.
+
+
+
---
## 📖 حول هذا الدليل
-هذا الدليل المرجعي لـ Git هو مرجع شامل لكل من يريد تحسين سير عمله مع Git. من المبتدئين الذين يبدؤون رحلتهم مع Git إلى المطورين ذوي الخبرة، يوفر هذا الدليل أوامر منظمة ومصنفة لتسريع رحلة التطوير الخاصة بك.
+هذا الدليل المرجعي الشامل لـ Git يساعدك على إتقان أوامر Git دون الحاجة لحفظ كل شيء. سواء كنت مبتدئاً أو مطوراً ذا خبرة، يوفر هذا الدليل مرجعاً سريعاً لعمليات Git الأساسية.
-### الميزات الرئيسية:
-- **فئات منظمة**: الأوامر مرتبة في مجموعات واضحة ومنطقية
-- **أمثلة عملية**: مع حالات استخدام من العالم الحقيقي
-- **مناسب للمبتدئين**: مع شروحات واضحة ونصائح
-- **مرجع فوري**: وصول سريع للأوامر الأساسية
+**نرحب بالمساهمات!** لا تتردد في:
+- إصلاح الأخطاء الإملائية
+- إضافة أوامر جديدة
+- الترجمة إلى لغتك
+- تحسين الشروحات
---
-
-## 📑 جدول المحتويات
-
-- [🔧 الإعداد الأولي](#الإعداد-الأولي)
-- [⚙️ ملفات الإعداد](#ملفات-الإعداد)
-- [📁 إعداد المستودع](#إعداد-المستودع)
-- [📊 أوامر الحالة](#أوامر-الحالة)
-- [📝 إدارة الملفات](#إدارة-الملفات)
-- [💾 التثبيتات (Commits)](#التثبيتات-commits)
-- [🌿 الفروع (Branches)](#الفروع-branches)
-- [🔀 الدمج (Merge)](#الدمج-merge)
-- [🌐 المستودعات البعيدة](#المستودعات-البعيدة)
-- [📚 السجل والتاريخ](#السجل-والتاريخ)
-- [🔍 البحث](#البحث)
-- [📋 النقل/إعادة التسمية](#النقل-إعادة-التسمية)
-- [🏷️ العلامات (Tags)](#العلامات-tags)
-- [↩️ التراجع عن التغييرات](#التراجع-عن-التغييرات)
-- [📦 المخزن المؤقت (Stash)](#المخزن-المؤقت-stash)
-- [🌊 Git Flow](#git-flow)
-- [💡 نصائح مفيدة](#نصائح-مفيدة)
-- [🌍 لغات أخرى](#لغات-أخرى)
-- [🤝 المساهمة](#المساهمة)
-- [📄 الترخيص](#الترخيص)
-- [📖 مصادر إضافية](#مصادر-إضافية)
+## 📋 جدول المحتويات
+
+- [🔧 الإعداد](#-الإعداد)
+- [⚙️ ملفات الإعداد](#️-ملفات-الإعداد)
+- [🆕 إنشاء مستودع](#-إنشاء-مستودع)
+- [📝 التغييرات المحلية](#-التغييرات-المحلية)
+- [🔍 البحث](#-البحث)
+- [📖 سجل الإيداعات](#-سجل-الإيداعات)
+- [📁 النقل / إعادة التسمية](#-النقل--إعادة-التسمية)
+- [🌿 الفروع والعلامات](#-الفروع-والعلامات)
+- [🔄 التحديث والنشر](#-التحديث-والنشر)
+- [🔀 الدمج وإعادة التأسيس](#-الدمج-وإعادة-التأسيس)
+- [↩️ التراجع](#️-التراجع)
+- [🌊 Git Flow](#-git-flow)
+- [�� لغات أخرى](#-لغات-أخرى)
---
-## 🔧 الإعداد الأولي
+## 🔧 الإعداد
-إعداد Git بمعلوماتك الشخصية:
+### عرض الإعدادات
+**عرض الإعدادات الحالية:**
```bash
-# إعداد اسم المستخدم
-git config --global user.name "اسمك"
-
-# إعداد البريد الإلكتروني
-git config --global user.email "email@example.com"
-
-# عرض الإعدادات الحالية
git config --list
+```
-# إعداد المحرر الافتراضي
-git config --global core.editor "nano"
+**عرض إعدادات المستودع:**
+```bash
+git config --local --list
+```
-# إعداد أداة المقارنة
-git config --global merge.tool vimdiff
+**عرض الإعدادات العامة:**
+```bash
+git config --global --list
```
----
+**عرض إعدادات النظام:**
+```bash
+git config --system --list
+```
-## ⚙️ ملفات الإعداد
+### إعداد المستخدم
-يتم تخزين إعدادات Git على ثلاثة مستويات:
+**تعيين اسمك لسجل الإصدارات:**
+```bash
+git config --global user.name "[firstname lastname]"
+```
-| المستوى | موقع الملف | الأمر | الوصف |
-|---------|------------|-------|--------|
-| **System** | `/etc/gitconfig` | `--system` | إعدادات على مستوى النظام لجميع المستخدمين |
-| **Global** | `~/.gitconfig` أو `~/.config/git/config` | `--global` | إعدادات للمستخدم الحالي |
-| **Local** | `.git/config` | `--local` (افتراضي) | إعدادات للمستودع الحالي |
+**تعيين بريدك الإلكتروني:**
+```bash
+git config --global user.email "[valid-email]"
+```
+### إعدادات العرض والمحرر
+
+**تفعيل التلوين التلقائي لسطر الأوامر:**
```bash
-# عرض مستوى الإعداد
-git config --show-origin user.name
+git config --global color.ui auto
+```
-# تعيين إعداد على مستوى محدد
-git config --local user.name "اسم المشروع"
-git config --global user.email "global@example.com"
+**تعيين المحرر العام للإيداعات:**
+```bash
+git config --global core.editor vi
```
---
-## 📁 إعداد المستودع
+## ⚙️ ملفات الإعداد
+
+| النطاق | الموقع | خيار الأمر |
+|--------|--------|------------|
+| **المستودع** | `/.git/config` | `--local` |
+| **المستخدم** | `~/.gitconfig` | `--global` |
+| **النظام** | `/etc/gitconfig` | `--system` |
+
+---
-### إنشاء مستودع جديد:
+## 🆕 إنشاء مستودع
+### استنساخ مستودع موجود
+
+**عبر SSH:**
```bash
-# إنشاء مستودع Git جديد
-git init
+git clone ssh://user@domain.com/repo.git
+```
+
+**عبر HTTPS:**
+```bash
+git clone https://domain.com/user/repo.git
+```
-# نسخ مستودع موجود
-git clone <رابط-المستودع>
+### تهيئة مستودع جديد
-# نسخ إلى مجلد محدد
-git clone <رابط-المستودع> <اسم-المجلد>
+**إنشاء مستودع في المجلد الحالي:**
+```bash
+git init
+```
+
+**إنشاء مستودع في مجلد محدد:**
+```bash
+git init
```
---
-## 📊 أوامر الحالة
+## 📝 التغييرات المحلية
-### فحص حالة المستودع:
+### فحص الحالة والاختلافات
+**عرض حالة مجلد العمل:**
```bash
-# عرض الحالة الحالية للمستودع
git status
+```
-# عرض الحالة بصيغة مختصرة
-git status -s
+**عرض التغييرات في الملفات المتتبعة:**
+```bash
+git diff
+```
-# عرض الحالة متجاهلاً الملفات غير المتتبعة
-git status --ignored
+**عرض التغييرات في ملف محدد:**
+```bash
+git diff
+```
-# عرض الاختلافات في الملفات المعدلة
-git diff
+### تحضير التغييرات
-# عرض الاختلافات في منطقة التحضير
-git diff --staged
+**إضافة جميع التغييرات الحالية:**
+```bash
+git add .
+```
-# عرض الاختلافات بين الفروع
-git diff <فرع1> <فرع2>
+**إضافة ملفات محددة:**
+```bash
+git add
```
----
+**إضافة أجزاء من ملف بشكل تفاعلي:**
+```bash
+git add -p
+```
-## 📝 إدارة الملفات
+### إيداع التغييرات
-### إضافة وحذف الملفات:
+**إيداع جميع تغييرات الملفات المتتبعة:**
+```bash
+git commit -a
+```
+**إيداع التغييرات المحضّرة:**
```bash
-# إضافة ملف محدد لمنطقة التحضير
-git add <ملف>
+git commit
+```
-# إضافة جميع الملفات المعدلة
-git add .
+**إيداع مع رسالة:**
+```bash
+git commit -m 'message here'
+```
-# إضافة جميع الملفات من نوع محدد
-git add *.txt
+**تخطي التحضير والإيداع مع رسالة:**
+```bash
+git commit -am 'message here'
+```
-# إضافة تفاعلية
-git add -i
+**إيداع بتاريخ محدد:**
+```bash
+git commit --date="`date --date='n day ago'`" -am ""
+```
-# حذف ملف من المستودع ومجلد العمل
-git rm <ملف>
+### تعديل آخر إيداع
-# حذف ملف من المستودع فقط (الاحتفاظ به في المجلد)
-git rm --cached <ملف>
+> ⚠️ **تحذير:** لا تعدّل الإيداعات المنشورة!
-# نقل/إعادة تسمية ملف
-git mv <ملف-المصدر> <ملف-الوجهة>
+**تعديل آخر إيداع:**
+```bash
+git commit -a --amend
```
----
+**تعديل بدون تغيير رسالة الإيداع:**
+```bash
+git commit --amend --no-edit
+```
-## 💾 التثبيتات (Commits)
+**تغيير تاريخ المودع:**
+```bash
+GIT_COMMITTER_DATE="date" git commit --amend
+```
+
+**تغيير تاريخ المؤلف:**
+```bash
+git commit --amend --date="date"
+```
-### حفظ التغييرات في المستودع:
+### تخزين التغييرات مؤقتاً
+**حفظ التغييرات الحالية مؤقتاً:**
```bash
-# تثبيت مع رسالة
-git commit -m "رسالة التثبيت"
+git stash
+```
-# تثبيت مع إضافة جميع الملفات المعدلة
-git commit -am "رسالة التثبيت"
+**تطبيق آخر تغييرات مخزنة:**
+```bash
+git stash apply
+```
-# تعديل التثبيت الأخير
-git commit --amend
+**تطبيق تخزين محدد:**
+```bash
+git stash apply stash@{stash_number}
+```
+> استخدم `git stash list` لعرض التخزينات المتاحة
-# تثبيت فارغ (مفيد لـ CI/CD)
-git commit --allow-empty -m "تشغيل CI"
+**حذف آخر تخزين:**
+```bash
+git stash drop
+```
-# تثبيت مع رسالة مفصلة (يفتح المحرر)
-git commit
+**نقل التغييرات غير المودعة إلى فرع آخر:**
+```bash
+git stash
+git checkout branch2
+git stash pop
```
---
-## 🌿 الفروع (Branches)
+## 🔍 البحث
-### العمل مع الفروع:
+### البحث في النصوص
+**البحث عن نص في جميع الملفات:**
```bash
-# عرض جميع الفروع
-git branch
-
-# عرض الفروع البعيدة
-git branch -r
+git grep "Hello"
+```
-# عرض جميع الفروع (محلية وبعيدة)
-git branch -a
+**البحث في إصدار محدد:**
+```bash
+git grep "Hello" v2.5
+```
-# إنشاء فرع جديد
-git branch <اسم-الفرع>
+### البحث في الإيداعات
-# التبديل إلى فرع
-git checkout <اسم-الفرع>
+**البحث عن إيداعات أضافت كلمة مفتاحية محددة:**
+```bash
+git log -S 'keyword'
+```
-# إنشاء والتبديل إلى فرع جديد
-git checkout -b <اسم-الفرع>
+**البحث بتعبير نمطي:**
+```bash
+git log -S 'keyword' --pickaxe-regex
+```
-# إنشاء فرع من تثبيت محدد
-git checkout -b <اسم-الفرع> <هاش-التثبيت>
+---
-# حذف فرع
-git branch -d <اسم-الفرع>
+## 📖 سجل الإيداعات
-# حذف فرع بالقوة
-git branch -D <اسم-الفرع>
+### السجل الأساسي
-# إعادة تسمية الفرع الحالي
-git branch -m <الاسم-الجديد>
+**عرض جميع الإيداعات (مفصل):**
+```bash
+git log
+```
-# إعادة تسمية فرع محدد
-git branch -m <الاسم-القديم> <الاسم-الجديد>
+**عرض الإيداعات (سطر واحد لكل إيداع):**
+```bash
+git log --oneline
```
----
+**عرض إيداعات مؤلف محدد:**
+```bash
+git log --author="username"
+```
-## 🔀 الدمج (Merge)
+**عرض التغييرات لملف محدد:**
+```bash
+git log -p
+```
-### دمج التغييرات بين الفروع:
+### السجل المتقدم
+**مقارنة الفروع:**
```bash
-# دمج فرع في الفرع الحالي
-git merge <اسم-الفرع>
+git log --oneline .. --left-right
+```
-# دمج بدون fast-forward (إنشاء تثبيت دمج)
-git merge --no-ff <اسم-الفرع>
+**عرض من غيّر ماذا ومتى:**
+```bash
+git blame
+```
-# دمج فقط إذا كان fast-forward
-git merge --ff-only <اسم-الفرع>
+### سجلات المراجع
-# إلغاء عملية الدمج الجارية
-git merge --abort
+**عرض سجل المراجع:**
+```bash
+git reflog show
+```
-# متابعة الدمج بعد حل التعارضات
-git merge --continue
+**حذف سجل المراجع:**
+```bash
+git reflog delete
```
---
-## 🌐 المستودعات البعيدة
-
-### إدارة المستودعات البعيدة:
+## 📁 النقل / إعادة التسمية
+**إعادة تسمية ملف:**
```bash
-# عرض المستودعات البعيدة
-git remote
-
-# عرض المستودعات البعيدة مع الروابط
-git remote -v
+git mv Index.txt Index.html
+```
-# إضافة مستودع بعيد
-git remote add <اسم> <رابط>
+---
-# تغيير رابط المستودع البعيد
-git remote set-url <اسم> <رابط-جديد>
+## 🌿 الفروع والعلامات
-# حذف مستودع بعيد
-git remote remove <اسم>
+### عرض الفروع
-# رفع التغييرات للمستودع البعيد
-git push <بعيد> <فرع>
+**عرض الفروع المحلية:**
+```bash
+git branch
+```
-# رفع فرع وتعيين التتبع
-git push -u <بعيد> <فرع>
+**عرض جميع الفروع (محلية + بعيدة):**
+```bash
+git branch -a
+```
-# رفع جميع الفروع
-git push --all
+**عرض الفروع البعيدة:**
+```bash
+git branch -r
+```
-# رفع العلامات
-git push --tags
+**عرض الفروع المدمجة:**
+```bash
+git branch --merged
+```
-# تحميل التغييرات من المستودع البعيد
-git pull <بعيد> <فرع>
+### التبديل وإنشاء الفروع
-# تحميل التغييرات بدون دمج
-git fetch <بعيد>
+**التبديل إلى فرع موجود:**
+```bash
+git checkout
+```
-# تحميل جميع الفروع البعيدة
-git fetch --all
+**إنشاء والتبديل إلى فرع جديد:**
+```bash
+git checkout -b
```
----
+**التبديل إلى الفرع السابق:**
+```bash
+git checkout -
+```
-## 📚 السجل والتاريخ
+**إنشاء فرع من فرع موجود:**
+```bash
+git checkout -b
+```
-### استكشاف تاريخ التثبيتات:
+**إنشاء فرع من إيداع محدد:**
+```bash
+git checkout -b
+```
+**إنشاء فرع بدون التبديل إليه:**
```bash
-# عرض تاريخ التثبيتات
-git log
+git branch
+```
-# عرض التاريخ في سطر واحد لكل تثبيت
-git log --oneline
+**إنشاء فرع تتبع:**
+```bash
+git branch --track
+```
-# عرض التاريخ مع رسم بياني
-git log --graph
+### عمليات الفروع
-# عرض تاريخ ملف محدد
-git log <ملف>
+**استخراج ملف واحد من فرع آخر:**
+```bash
+git checkout --
+```
-# عرض إحصائيات التثبيتات
-git log --stat
+**تطبيق إيداع محدد من فرع آخر:**
+```bash
+git cherry-pick
+```
-# عرض التغييرات في كل تثبيت
-git log -p
+**إعادة تسمية الفرع الحالي:**
+```bash
+git branch -m
+```
-# عرض آخر N تثبيت
-git log -n <عدد>
+**حذف فرع محلي:**
+```bash
+git branch -d
+```
-# عرض التثبيتات بين تواريخ
-git log --since="2023-01-01" --until="2023-12-31"
+**حذف فرع محلي بالقوة:**
+```bash
+git branch -D
+```
+> ⚠️ **تحذير:** ستفقد التغييرات غير المدمجة!
-# عرض التثبيتات حسب المؤلف
-git log --author="اسم المؤلف"
+### العلامات
-# البحث في رسائل التثبيت
-git log --grep="كلمة مفتاحية"
+**إنشاء علامة عند HEAD:**
+```bash
+git tag
```
----
-
-## 🔍 البحث
+**إنشاء علامة مشروحة:**
+```bash
+git tag -a
+```
-### البحث في الملفات والتثبيتات:
+**إنشاء علامة مع رسالة:**
+```bash
+git tag -am 'message here'
+```
+**عرض جميع العلامات:**
```bash
-# البحث عن نص في الملفات
-git grep "النص المطلوب"
+git tag
+```
-# البحث في أنواع ملفات محددة
-git grep "النمط" -- "*.js"
+**عرض العلامات مع الرسائل:**
+```bash
+git tag -n
+```
-# البحث في رسائل التثبيت
-git log --grep="الرسالة"
+---
-# البحث في تغييرات التثبيتات
-git log -S "نص الكود"
+## 🔄 التحديث والنشر
-# البحث عن أسماء الملفات
-git ls-files | grep "النمط"
+### إدارة المستودعات البعيدة
-# البحث عن ملفات في الفرع
-git ls-tree -r --name-only <اسم-الفرع>
+**عرض المستودعات البعيدة المُعدّة:**
+```bash
+git remote -v
```
----
-
-## 📋 النقل/إعادة التسمية
+**عرض معلومات المستودع البعيد:**
+```bash
+git remote show
+```
-### نقل وإعادة تسمية الملفات:
+**إضافة مستودع بعيد جديد:**
+```bash
+git remote add
+```
+**إعادة تسمية مستودع بعيد:**
```bash
-# نقل/إعادة تسمية ملف
-git mv <الاسم-القديم> <الاسم-الجديد>
+git remote rename
+```
-# نقل مجلد
-git mv <المجلد-القديم> <المجلد-الجديد>
+**حذف مستودع بعيد:**
+```bash
+git remote rm
+```
+> ℹ️ **ملاحظة:** هذا يحذف المرجع البعيد محلياً فقط، وليس المستودع البعيد نفسه.
-# بعد نقل الملف يدوياً
-mv <الاسم-القديم> <الاسم-الجديد>
-git rm <الاسم-القديم>
-git add <الاسم-الجديد>
+### الجلب والسحب
-# نقل ملفات متعددة
-git mv *.txt <المجلد-الجديد>/
+**تنزيل التغييرات بدون دمج:**
+```bash
+git fetch
+```
-# تتبع تاريخ مسار الملف
-git log --follow <اسم-الملف>
+**تنزيل ودمج التغييرات:**
+```bash
+git pull
```
----
+**الحصول على التغييرات من الفرع الرئيسي:**
+```bash
+git pull origin master
+```
-## 🏷️ العلامات (Tags)
+**السحب مع إعادة التأسيس:**
+```bash
+git pull --rebase
+```
-### إدارة علامات الإصدارات:
+### الدفع والنشر
+**نشر التغييرات المحلية:**
```bash
-# عرض جميع العلامات
-git tag
+git push
+```
-# إنشاء علامة خفيفة
-git tag <اسم-العلامة>
+**حذف فرع بعيد:**
+```bash
+# Git v1.7.0+
+git push --delete
-# إنشاء علامة مشروحة
-git tag -a <اسم-العلامة> -m "رسالة العلامة"
+# Git v1.5.0+
+git push :
+```
-# إنشاء علامة على تثبيت محدد
-git tag -a <اسم-العلامة> <هاش-التثبيت>
+**نشر العلامات:**
+```bash
+git push --tags
+```
-# عرض معلومات علامة
-git show <اسم-العلامة>
+---
-# حذف علامة محلية
-git tag -d <اسم-العلامة>
+## 🔀 الدمج وإعادة التأسيس
-# حذف علامة بعيدة
-git push --delete <بعيد> <اسم-العلامة>
+### عمليات الدمج
-# رفع علامة محددة
-git push <بعيد> <اسم-العلامة>
+**دمج فرع في HEAD الحالي:**
+```bash
+git merge
+```
-# رفع جميع العلامات
-git push <بعيد> --tags
+**إعداد أداة الدمج عامة:**
+```bash
+git config --global merge.tool meld
```
----
+**استخدام أداة الدمج المُعدّة:**
+```bash
+git mergetool
+```
-## ↩️ التراجع عن التغييرات
+### عمليات إعادة التأسيس
-### التراجع عن التعديلات:
+> ⚠️ **تحذير:** لا تعد تأسيس الإيداعات المنشورة!
+**إعادة تأسيس HEAD الحالي على فرع:**
```bash
-# إلغاء التغييرات في ملف محدد
-git checkout <ملف>
-
-# إلغاء جميع التغييرات غير المثبتة
-git checkout .
+git rebase
+```
-# إرجاع ملف لإصدار محدد
-git checkout <هاش-التثبيت> <ملف>
+**إلغاء إعادة التأسيس:**
+```bash
+git rebase --abort
+```
-# إزالة ملف من منطقة التحضير
-git reset <ملف>
+**متابعة إعادة التأسيس بعد حل التعارضات:**
+```bash
+git rebase --continue
+```
-# إزالة جميع الملفات من منطقة التحضير
-git reset
+### حل التعارضات
-# التراجع للتثبيت السابق (الاحتفاظ بالتغييرات)
-git reset --soft HEAD~1
+**وضع علامة على ملف كمحلول:**
+```bash
+git add
+```
-# التراجع للتثبيت السابق (إلغاء التغييرات)
-git reset --hard HEAD~1
+**حذف ملف محلول:**
+```bash
+git rm
+```
-# التراجع لتثبيت محدد
-git reset --hard <هاش-التثبيت>
+### ضغط الإيداعات
-# إنشاء تثبيت يلغي تثبيت آخر
-git revert <هاش-التثبيت>
+**إعادة تأسيس تفاعلية لضغط الإيداعات:**
+```bash
+git rebase -i
+```
-# إلغاء تثبيتات متعددة
-git revert <هاش-من>..<هاش-إلى>
+**مثال على إعداد الضغط:**
+```
+# قبل
+pick
+pick
+pick
+
+# بعد (ضغط commit_id2 و commit_id3 في commit_id)
+pick
+squash
+squash
```
---
-## 📦 المخزن المؤقت (Stash)
+## ↩️ التراجع
-### حفظ العمل مؤقتاً:
+### تجاهل التغييرات
+**تجاهل جميع التغييرات المحلية:**
```bash
-# حفظ التغييرات الحالية في المخزن المؤقت
-git stash
+git reset --hard HEAD
+```
-# حفظ مع رسالة وصفية
-git stash save "رسالة وصفية"
+**إلغاء تحضير جميع الملفات:**
+```bash
+git reset HEAD
+```
-# عرض جميع المخازن المؤقتة
-git stash list
+**تجاهل التغييرات في ملف محدد:**
+```bash
+git checkout HEAD
+```
-# تطبيق آخر مخزن مؤقت
-git stash apply
+### عمليات إعادة التعيين
-# تطبيق مخزن مؤقت محدد
-git stash apply stash@{0}
+**إعادة التعيين إلى إيداع سابق (تجاهل جميع التغييرات):**
+```bash
+git reset --hard
+```
-# تطبيق وحذف آخر مخزن مؤقت
-git stash pop
+**إعادة التعيين إلى حالة الفرع البعيد:**
+```bash
+git reset --hard
+# مثال: git reset --hard upstream/master
+```
-# حذف مخزن مؤقت محدد
-git stash drop stash@{0}
+**إعادة التعيين مع الاحتفاظ بالتغييرات كغير محضّرة:**
+```bash
+git reset
+```
-# حذف جميع المخازن المؤقتة
-git stash clear
+**إعادة التعيين مع الاحتفاظ بالتغييرات المحلية غير المودعة:**
+```bash
+git reset --keep
+```
+
+### التراجع عن الإيداعات
+
+**التراجع عن إيداع (إنشاء إيداع جديد بتغييرات معاكسة):**
+```bash
+git revert
+```
-# عرض التغييرات في مخزن مؤقت
-git stash show stash@{0}
+### تنظيف الملفات المتجاهلة
-# إنشاء فرع من مخزن مؤقت
-git stash branch <اسم-الفرع> stash@{0}
+**حذف الملفات التي أُودعت بالخطأ والتي يجب تجاهلها:**
+```bash
+git rm -r --cached .
+git add .
+git commit -m "remove ignored files"
```
---
## 🌊 Git Flow
-Git Flow هو نموذج تفريع يحدد سير عمل صارم مصمم حول إطلاق المشروع.
+**Git-flow المحسّن:** [git-flow-avh](https://github.com/petervanderdoes/gitflow-avh)
-### الفروع الرئيسية:
-- **master/main**: كود الإنتاج
-- **develop**: فرع التطوير الرئيسي
+### 📋 جدول المحتويات
+- [🔧 الإعداد](#setup-1)
+- [🚀 البدء](#getting-started)
+- [✨ الميزات](#features)
+- [🎁 إنشاء إصدار](#make-a-release)
+- [🔥 الإصلاحات العاجلة](#hotfixes)
+- [📊 نظرة عامة على الأوامر](#commands-overview)
-### فروع الدعم:
-- **feature**: للميزات الجديدة
-- **release**: لتحضير إصدارات جديدة
-- **hotfix**: للإصلاحات العاجلة في الإنتاج
+---
-### أوامر Git Flow:
+### 🔧 الإعداد {#setup-1}
+> **متطلب أساسي:** يجب أن يكون Git مثبتاً ويعمل. Git-flow يعمل على macOS و Linux و Windows.
+
+**macOS (Homebrew):**
```bash
-# تهيئة git flow
-git flow init
+brew install git-flow-avh
+```
-# بدء ميزة جديدة
-git flow feature start <اسم-الميزة>
+**macOS (MacPorts):**
+```bash
+port install git-flow
+```
-# إنهاء الميزة
-git flow feature finish <اسم-الميزة>
+**Linux (توزيعات Debian):**
+```bash
+sudo apt-get install git-flow
+```
-# نشر الميزة
-git flow feature publish <اسم-الميزة>
+**Windows (Cygwin):**
+> يتطلب wget و util-linux
+```bash
+wget -q -O - --no-check-certificate https://raw.githubusercontent.com/petervanderdoes/gitflow/develop/contrib/gitflow-installer.sh install | bash
+```
-# بدء إصدار
-git flow release start <إصدار>
+---
-# إنهاء الإصدار
-git flow release finish <إصدار>
+### 🚀 البدء
-# بدء إصلاح عاجل
-git flow hotfix start <إصدار>
+يحتاج Git-flow إلى التهيئة لتخصيص إعدادات مشروعك.
-# إنهاء الإصلاح العاجل
-git flow hotfix finish <إصدار>
+**التهيئة (تفاعلية):**
+```bash
+git flow init
```
+> ستجيب على أسئلة حول اتفاقيات تسمية الفروع. يُنصح باستخدام القيم الافتراضية.
-### سير العمل بدون Git Flow:
+**التهيئة (استخدام الافتراضيات):**
+```bash
+git flow init -d
+```
-
+---
+### ✨ الميزات
+
+الميزات مخصصة لتطوير وظائف جديدة للإصدارات القادمة. عادةً ما توجد فقط في مستودعات المطورين.
+
+**بدء ميزة جديدة:**
```bash
-# إنشاء فرع الميزة
-git checkout develop
-git checkout -b feature/ميزة-جديدة
+git flow feature start MYFEATURE
+```
+> ينشئ فرع ميزة بناءً على 'develop' وينتقل إليه
-# العمل على الميزة
-git add .
-git commit -m "إضافة ميزة جديدة"
+**إنهاء ميزة:**
+```bash
+git flow feature finish MYFEATURE
+```
+> سيقوم بـ:
+> 1. دمج MYFEATURE في 'develop'
+> 2. حذف فرع الميزة
+> 3. العودة إلى 'develop'
-# دمج الميزة في develop
-git checkout develop
-git merge --no-ff feature/ميزة-جديدة
-git branch -d feature/ميزة-جديدة
+**نشر ميزة (للتعاون):**
+```bash
+git flow feature publish MYFEATURE
+```
-# إنشاء فرع الإصدار
-git checkout develop
-git checkout -b release/1.0.0
+**الحصول على ميزة منشورة:**
+```bash
+git flow feature pull origin MYFEATURE
+```
-# إنهاء الإصدار
-git checkout master
-git merge --no-ff release/1.0.0
-git tag -a 1.0.0 -m "الإصدار 1.0.0"
-git checkout develop
-git merge --no-ff release/1.0.0
-git branch -d release/1.0.0
+**تتبع ميزة من المصدر:**
+```bash
+git flow feature track MYFEATURE
```
---
-## 💡 نصائح مفيدة
+### 🎁 إنشاء إصدار
-### اختصارات مفيدة:
+الإصدارات تدعم تحضير إصدارات الإنتاج الجديدة، وتسمح بإصلاحات الأخطاء الطفيفة وتحضير البيانات الوصفية.
+**بدء إصدار:**
```bash
-# إعداد اختصارات مفيدة
-git config --global alias.st status
-git config --global alias.co checkout
-git config --global alias.br branch
-git config --global alias.ci commit
-git config --global alias.unstage 'reset HEAD --'
-git config --global alias.last 'log -1 HEAD'
-git config --global alias.visual '!gitk'
+git flow release start RELEASE [BASE]
```
+> ينشئ فرع إصدار من 'develop'. اختيارياً حدد [BASE] وهو SHA-1 للإيداع.
-### ملفات .gitignore:
+**نشر الإصدار:**
+```bash
+git flow release publish RELEASE
+```
+**تتبع إصدار بعيد:**
```bash
-# إنشاء ملف .gitignore
-echo "node_modules/" >> .gitignore
-echo "*.log" >> .gitignore
-echo ".env" >> .gitignore
+git flow release track RELEASE
+```
-# تجاهل ملفات متتبعة بالفعل
-git rm --cached <ملف>
-echo "<ملف>" >> .gitignore
-git add .gitignore
-git commit -m "إضافة ملف إلى .gitignore"
+**إنهاء الإصدار:**
+```bash
+git flow release finish RELEASE
```
+> سيقوم بـ:
+> 1. دمج فرع الإصدار في 'master'
+> 2. وضع علامة على الإصدار
+> 3. إعادة دمج الإصدار في 'develop'
+> 4. حذف فرع الإصدار
+
+> 💡 **لا تنسَ:** ادفع العلامات باستخدام `git push --tags`
---
-## 🌍 لغات أخرى
+### 🔥 الإصلاحات العاجلة
-هذا الدليل المرجعي لـ Git متوفر باللغات التالية:
-
-- 🇺🇸 [English](../README.md)
-- 🇸🇦 **العربية** (الحالي)
-- 🇧🇩 [বাংলা](git-cheat-sheet-bn.md)
-- 🇩🇪 [Deutsch](git-cheat-sheet-de.md)
-- 🇬🇷 [Ελληνικά](git-cheat-sheet-el.md)
-- 🇪🇸 [Español](git-cheat-sheet-es.md)
-- 🇮🇳 [हिन्दी](git-cheat-sheet-hi.md)
-- 🇰🇷 [한국어](git-cheat-sheet-ko.md)
-- 🇵🇱 [Polski](git-cheat-sheet-pl.md)
-- 🇧🇷 [Português](git-cheat-sheet-pt_BR.md)
-- 🇹🇷 [Türkçe](git-cheat-sheet-tr.md)
-- 🇨🇳 [中文](git-cheat-sheet-zh.md)
+الإصلاحات العاجلة تعالج المشاكل الحرجة في إصدارات الإنتاج الحية. تتفرع من العلامة المقابلة على master.
+
+**بدء إصلاح عاجل:**
+```bash
+git flow hotfix start VERSION [BASENAME]
+```
+
+**إنهاء إصلاح عاجل:**
+```bash
+git flow hotfix finish VERSION
+```
+> يُدمج مرة أخرى في كل من 'develop' و 'master'، ويضع علامة على دمج master
---
-## 🤝 المساهمة
+### 📊 نظرة عامة على الأوامر
-نرحب بالمساهمات! للمساعدة في تحسين هذا المشروع:
+
+
+
-1. **أبلغ عن المشاكل**: شارك الأخطاء أو اقتراحات التحسين
-2. **أضف لغات جديدة**: أنشئ ترجمات أو حسّن الموجودة
-3. **حسّن المحتوى**: أضف أوامر جديدة أو أمثلة أو شروحات
-4. **قدم ملاحظات**: شارك تجاربك واقتراحاتك
+### 🌊 مخطط Git Flow
-### كيفية المساهمة:
-- [افتح مشكلة على GitHub](https://github.com/arslanbilal/git-cheat-sheet/issues)
-- أرسل طلب سحب (Pull Request)
-- اقترح تحسينات على الوثائق
+
+
+
---
-## 📄 الترخيص
-هذا المشروع مرخص تحت رخصة MIT. راجع ملف [LICENSE](../LICENSE) لمزيد من التفاصيل.
+## 🌍 لغات أخرى
+
+هذا الدليل المرجعي متوفر بعدة لغات:
+
+| اللغة | الرابط |
+|-------|--------|
+| 🇸🇦 العربية | **الحالي** |
+| 🇧🇩 البنغالية | [git-cheat-sheet-bn.md](git-cheat-sheet-bn.md) |
+| 🇧🇷 البرتغالية البرازيلية | [git-cheat-sheet-pt_BR.md](git-cheat-sheet-pt_BR.md) |
+| 🇨🇳 الصينية | [git-cheat-sheet-zh.md](git-cheat-sheet-zh.md) |
+| 🇩�� الألمانية | [git-cheat-sheet-de.md](git-cheat-sheet-de.md) |
+| 🇬🇷 اليونانية | [git-cheat-sheet-el.md](git-cheat-sheet-el.md) |
+| 🇮🇳 الهندية | [git-cheat-sheet-hi.md](git-cheat-sheet-hi.md) |
+| 🇰🇷 الكورية | [git-cheat-sheet-ko.md](git-cheat-sheet-ko.md) |
+| 🇵🇱 البولندية | [git-cheat-sheet-pl.md](git-cheat-sheet-pl.md) |
+| 🇪🇸 الإسبانية | [git-cheat-sheet-es.md](git-cheat-sheet-es.md) |
+| 🇹🇷 التركية | [git-cheat-sheet-tr.md](git-cheat-sheet-tr.md) |
+| 🇺🇸 الإنجليزية | [README.md](../README.md) |
---
-## 📖 مصادر إضافية
+## 🤝 المساهمة
+
+نرحب بالمساهمات! يمكنك:
+
+- 🐛 الإبلاغ عن الأخطاء
+- ✨ إضافة أوامر Git جديدة
+- 🌍 الترجمة إلى لغات جديدة
+- 💡 تحسين الشروحات
+- 📝 تحسين التنسيق
+
+**كيفية المساهمة:**
+1. انسخ (Fork) هذا المستودع
+2. أنشئ فرع الميزة (`git checkout -b feature/AmazingFeature`)
+3. أودع تغييراتك (`git commit -m 'Add some AmazingFeature'`)
+4. ادفع إلى الفرع (`git push origin feature/AmazingFeature`)
+5. افتح طلب سحب (Pull Request)
+
+---
+
+## 📄 الترخيص
-- [الوثائق الرسمية لـ Git](https://git-scm.com/doc)
-- [دروس Git من Atlassian](https://www.atlassian.com/git/tutorials)
-- [ورقة مرجعية لـ Git من GitHub](https://education.github.com/git-cheat-sheet-education.pdf)
-- [دروس Git التفاعلية](https://learngitbranching.js.org/)
+هذا المشروع مفتوح المصدر ومتاح تحت [رخصة MIT](../LICENSE).
---
-
- ⭐ إذا كان هذا الدليل مفيداً، امنحه نجمة!
- برمجة سعيدة مع Git! 🚀
-
+
+ ⭐ امنح هذا المستودع نجمة إذا وجدته مفيداً!
+
From 02fcaae8d328b8e96c9ab2e1826442df5023306b Mon Sep 17 00:00:00 2001
From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
Date: Wed, 4 Mar 2026 07:14:08 +0000
Subject: [PATCH 05/15] Fix German flag emoji encoding in Arabic cheat sheet
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
---
other-sheets/git-cheat-sheet-ar.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/other-sheets/git-cheat-sheet-ar.md b/other-sheets/git-cheat-sheet-ar.md
index 831cd7a..970169f 100644
--- a/other-sheets/git-cheat-sheet-ar.md
+++ b/other-sheets/git-cheat-sheet-ar.md
@@ -825,7 +825,7 @@ git flow hotfix finish VERSION
| 🇧🇩 البنغالية | [git-cheat-sheet-bn.md](git-cheat-sheet-bn.md) |
| 🇧🇷 البرتغالية البرازيلية | [git-cheat-sheet-pt_BR.md](git-cheat-sheet-pt_BR.md) |
| 🇨🇳 الصينية | [git-cheat-sheet-zh.md](git-cheat-sheet-zh.md) |
-| 🇩�� الألمانية | [git-cheat-sheet-de.md](git-cheat-sheet-de.md) |
+| 🇩🇪 الألمانية | [git-cheat-sheet-de.md](git-cheat-sheet-de.md) |
| 🇬🇷 اليونانية | [git-cheat-sheet-el.md](git-cheat-sheet-el.md) |
| 🇮🇳 الهندية | [git-cheat-sheet-hi.md](git-cheat-sheet-hi.md) |
| 🇰🇷 الكورية | [git-cheat-sheet-ko.md](git-cheat-sheet-ko.md) |
From 8ae3e23a94cfd34039270fd07ce82c5b1b5d9eee Mon Sep 17 00:00:00 2001
From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
Date: Wed, 4 Mar 2026 07:17:43 +0000
Subject: [PATCH 06/15] Rewrite Bengali Git cheat sheet to match English format
- Match same sections and subsections as English README.md
- Each git command has its own individual bash code block with bold description
- All git commands from English version present (113 bash blocks)
- Git commands stay in English, descriptions/headers in Bengali
- Image paths use ../Img/ prefix
- Bengali marked as current in Other Languages section
- Full Git Flow section with setup, getting started, features, release, hotfixes
- Includes warnings, notes, and tips in same places as English
- Same Table of Contents structure
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
---
other-sheets/git-cheat-sheet-bn.md | 1031 ++++++++++++++++------------
1 file changed, 610 insertions(+), 421 deletions(-)
diff --git a/other-sheets/git-cheat-sheet-bn.md b/other-sheets/git-cheat-sheet-bn.md
index 288dd85..e978e5c 100644
--- a/other-sheets/git-cheat-sheet-bn.md
+++ b/other-sheets/git-cheat-sheet-bn.md
@@ -1,677 +1,866 @@
-# Git Cheat Sheet বাংলা
+# Git এবং Git Flow চিট শিট
+[](https://github.com/sindresorhus/awesome)
-
-
-সবচেয়ে বেশি ব্যবহৃত Git কমান্ডগুলির একটি দ্রুত রেফারেন্স গাইড, সহজ ব্যবহারের জন্য বিভাগ অনুযায়ী সংগঠিত।
+
+
+
---
-## 📖 এই গাইড সম্পর্কে
+## 📖 সম্পর্কে
-এই Git রেফারেন্স গাইডটি একটি সম্পূর্ণ রেফারেন্স যা Git এর সাথে কাজের প্রবাহ উন্নত করতে চান এমন সবার জন্য। যারা Git এর সাথে তাদের যাত্রা শুরু করছেন এমন শিক্ষানবিস থেকে শুরু করে অভিজ্ঞ ডেভেলপারদের জন্য, এই গাইডটি আপনার ডেভেলপমেন্ট যাত্রাকে ত্বরান্বিত করতে সংগঠিত এবং শ্রেণীবদ্ধ কমান্ড প্রদান করে।
+এই বিস্তৃত Git চিট শিটটি আপনাকে সবকিছু মুখস্ত না করেই Git কমান্ডগুলো আয়ত্ত করতে সাহায্য করবে। আপনি শিক্ষানবিস হোন বা অভিজ্ঞ ডেভেলপার, এই গাইডটি প্রয়োজনীয় Git অপারেশনগুলোর দ্রুত রেফারেন্স প্রদান করে।
-### মূল বৈশিষ্ট্য:
-- **সংগঠিত বিভাগ**: কমান্ডগুলি স্পষ্ট এবং যৌক্তিক গ্রুপে সাজানো
-- **ব্যবহারিক উদাহরণ**: বাস্তব বিশ্বের ব্যবহারের ক্ষেত্রে সহ
-- **শিক্ষানবিস-বান্ধব**: স্পষ্ট ব্যাখ্যা এবং টিপস সহ
-- **দ্রুত রেফারেন্স**: প্রয়োজনীয় কমান্ডগুলিতে দ্রুত অ্যাক্সেস
+**অবদান স্বাগত!** আপনি যা করতে পারেন:
+- ব্যাকরণ ত্রুটি ঠিক করুন
+- নতুন কমান্ড যোগ করুন
+- আপনার ভাষায় অনুবাদ করুন
+- ব্যাখ্যা উন্নত করুন
---
-
-## 📑 সূচিপত্র
-
-- [🔧 প্রাথমিক সেটআপ](#প্রাথমিক-সেটআপ)
-- [⚙️ কনফিগারেশন ফাইল](#কনফিগারেশন-ফাইল)
-- [📁 রিপোজিটরি সেটআপ](#রিপোজিটরি-সেটআপ)
-- [📊 স্ট্যাটাস কমান্ড](#স্ট্যাটাস-কমান্ড)
-- [📝 ফাইল ম্যানেজমেন্ট](#ফাইল-ম্যানেজমেন্ট)
-- [💾 কমিট](#কমিট)
-- [🌿 ব্রাঞ্চ](#ব্রাঞ্চ)
-- [🔀 মার্জ](#মার্জ)
-- [🌐 রিমোট রিপোজিটরি](#রিমোট-রিপোজিটরি)
-- [📚 হিস্ট্রি এবং লগ](#হিস্ট্রি-এবং-লগ)
-- [🔍 অনুসন্ধান](#অনুসন্ধান)
-- [📁 সরানো/নাম পরিবর্তন](#সরানো-নাম-পরিবর্তন)
-- [🏷️ ট্যাগ](#ট্যাগ)
-- [↩️ পরিবর্তন পূর্বাবস্থায় ফেরানো](#পরিবর্তন-পূর্বাবস্থায়-ফেরানো)
-- [📦 স্ট্যাশ](#স্ট্যাশ)
-- [🌊 Git Flow](#git-flow)
-- [💡 উপযোগী টিপস](#উপযোগী-টিপস)
-- [🌍 অন্যান্য ভাষা](#অন্যান্য-ভাষা)
-- [🤝 অবদান](#অবদান)
-- [📄 লাইসেন্স](#লাইসেন্স)
-- [📖 অতিরিক্ত সম্পদ](#অতিরিক্ত-সম্পদ)
+## 📋 সূচিপত্র
+
+- [🔧 সেটআপ](#-সেটআপ)
+- [⚙️ কনফিগারেশন ফাইল](#️-কনফিগারেশন-ফাইল)
+- [🆕 রিপোজিটরি তৈরি](#-রিপোজিটরি-তৈরি)
+- [📝 লোকাল পরিবর্তন](#-লোকাল-পরিবর্তন)
+- [🔍 অনুসন্ধান](#-অনুসন্ধান)
+- [📖 কমিট ইতিহাস](#-কমিট-ইতিহাস)
+- [📁 সরানো / নাম পরিবর্তন](#-সরানো--নাম-পরিবর্তন)
+- [🌿 ব্রাঞ্চ ও ট্যাগ](#-ব্রাঞ্চ-ও-ট্যাগ)
+- [🔄 আপডেট ও প্রকাশ](#-আপডেট-ও-প্রকাশ)
+- [🔀 মার্জ ও রিবেস](#-মার্জ-ও-রিবেস)
+- [↩️ পূর্বাবস্থায় ফেরানো](#️-পূর্বাবস্থায়-ফেরানো)
+- [🌊 Git Flow](#-git-flow)
+- [🌍 অন্যান্য ভাষা](#-অন্যান্য-ভাষা)
---
-## 🔧 প্রাথমিক সেটআপ
+## 🔧 সেটআপ
-আপনার ব্যক্তিগত তথ্য দিয়ে Git কনফিগার করুন:
+### কনফিগারেশন দেখুন
+**বর্তমান কনফিগারেশন দেখুন:**
```bash
-# ব্যবহারকারীর নাম সেট করুন
-git config --global user.name "আপনার নাম"
-
-# ইমেইল সেট করুন
-git config --global user.email "email@example.com"
-
-# বর্তমান কনফিগারেশন দেখুন
git config --list
-
-# ডিফল্ট এডিটর সেট করুন
-git config --global core.editor "nano"
-
-# মার্জ টুল সেট করুন
-git config --global merge.tool vimdiff
```
----
+**রিপোজিটরি কনফিগারেশন দেখুন:**
+```bash
+git config --local --list
+```
-## ⚙️ কনফিগারেশন ফাইল
+**গ্লোবাল কনফিগারেশন দেখুন:**
+```bash
+git config --global --list
+```
-Git ব্যবহারকারী এবং রিপোজিটরি পছন্দ সংরক্ষণের জন্য কনফিগারেশন ফাইল ব্যবহার করে:
+**সিস্টেম কনফিগারেশন দেখুন:**
+```bash
+git config --system --list
+```
-### কনফিগারেশন স্তর:
+### ব্যবহারকারী কনফিগারেশন
+**ভার্সন ইতিহাসের জন্য আপনার নাম সেট করুন:**
```bash
-# সিস্টেম (সব ব্যবহারকারী)
-git config --system
-
-# ব্যবহারকারী (বর্তমান ব্যবহারকারী)
-git config --global
+git config --global user.name "[firstname lastname]"
+```
-# রিপোজিটরি (নির্দিষ্ট প্রকল্প)
-git config --local
+**আপনার ইমেইল ঠিকানা সেট করুন:**
+```bash
+git config --global user.email "[valid-email]"
```
-### সাধারণ কনফিগারেশন:
+### ডিসপ্লে ও এডিটর সেটিংস
+**স্বয়ংক্রিয় কমান্ড লাইন রঙ সক্রিয় করুন:**
```bash
-# ব্যবহারকারীর পরিচয়
-git config --global user.name "আপনার নাম"
-git config --global user.email "email@example.com"
+git config --global color.ui auto
+```
-# টেক্সট এডিটর
-git config --global core.editor nano
+**কমিটের জন্য গ্লোবাল এডিটর সেট করুন:**
+```bash
+git config --global core.editor vi
+```
-# মার্জ টুল
-git config --global merge.tool vimdiff
+---
-# আউটপুটে রঙ
-git config --global color.ui auto
+## ⚙️ কনফিগারেশন ফাইল
-# কনফিগারেশন দেখুন
-git config --list
-```
+| পরিসর | অবস্থান | কমান্ড ফ্ল্যাগ |
+|-------|----------|--------------|
+| **রিপোজিটরি** | `/.git/config` | `--local` |
+| **ব্যবহারকারী** | `~/.gitconfig` | `--global` |
+| **সিস্টেম** | `/etc/gitconfig` | `--system` |
---
-## 📁 রিপোজিটরি সেটআপ
+## 🆕 রিপোজিটরি তৈরি
-### নতুন রিপোজিটরি তৈরি করুন:
+### বিদ্যমান রিপোজিটরি ক্লোন করুন
+**SSH এর মাধ্যমে:**
```bash
-# নতুন Git রিপোজিটরি তৈরি করুন
-git init
+git clone ssh://user@domain.com/repo.git
+```
-# বিদ্যমান রিপোজিটরি ক্লোন করুন
-git clone <রিপোজিটরি-url>
+**HTTPS এর মাধ্যমে:**
+```bash
+git clone https://domain.com/user/repo.git
+```
-# নির্দিষ্ট ডিরেক্টরিতে ক্লোন করুন
-git clone <রিপোজিটরি-url> <ডিরেক্টরি-নাম>
+### নতুন রিপোজিটরি শুরু করুন
+
+**বর্তমান ডিরেক্টরিতে রিপোজিটরি তৈরি করুন:**
+```bash
+git init
+```
+
+**নির্দিষ্ট ডিরেক্টরিতে রিপোজিটরি তৈরি করুন:**
+```bash
+git init
```
---
-## 📊 স্ট্যাটাস কমান্ড
+## 📝 লোকাল পরিবর্তন
-### আপনার রিপোজিটরির অবস্থা পরীক্ষা করুন:
+### স্ট্যাটাস ও পার্থক্য পরীক্ষা করুন
+**ওয়ার্কিং ডিরেক্টরির স্ট্যাটাস দেখুন:**
```bash
-# রিপোজিটরির বর্তমান অবস্থা দেখুন
git status
+```
-# সংক্ষিপ্ত ফরম্যাটে অবস্থা দেখুন
-git status -s
+**ট্র্যাক করা ফাইলের পরিবর্তন দেখুন:**
+```bash
+git diff
+```
-# ট্র্যাক না করা ফাইল উপেক্ষা করে অবস্থা দেখুন
-git status --ignored
+**নির্দিষ্ট ফাইলের পরিবর্তন দেখুন:**
+```bash
+git diff
+```
-# পরিবর্তিত ফাইলের পার্থক্য দেখুন
-git diff
+### পরিবর্তন স্টেজিং
+
+**সব বর্তমান পরিবর্তন যোগ করুন:**
+```bash
+git add .
+```
-# স্টেজিং এরিয়ার পার্থক্য দেখুন
-git diff --staged
+**নির্দিষ্ট ফাইল যোগ করুন:**
+```bash
+git add
+```
-# ব্রাঞ্চের মধ্যে পার্থক্য দেখুন
-git diff <ব্রাঞ্চ১> <ব্রাঞ্চ২>
+**ইন্টারঅ্যাক্টিভভাবে ফাইলের অংশ যোগ করুন:**
+```bash
+git add -p
```
----
+### পরিবর্তন কমিট করুন
-## 📝 ফাইল ম্যানেজমেন্ট
+**সব ট্র্যাক করা ফাইলের পরিবর্তন কমিট করুন:**
+```bash
+git commit -a
+```
-### ফাইল যোগ এবং অপসারণ:
+**স্টেজ করা পরিবর্তন কমিট করুন:**
+```bash
+git commit
+```
+**বার্তা সহ কমিট করুন:**
```bash
-# নির্দিষ্ট ফাইল স্টেজিং এরিয়ায় যোগ করুন
-git add <ফাইল>
+git commit -m 'message here'
+```
-# সব পরিবর্তিত ফাইল যোগ করুন
-git add .
+**স্টেজিং এড়িয়ে বার্তা সহ কমিট করুন:**
+```bash
+git commit -am 'message here'
+```
-# নির্দিষ্ট ধরনের সব ফাইল যোগ করুন
-git add *.txt
+**নির্দিষ্ট তারিখে কমিট করুন:**
+```bash
+git commit --date="`date --date='n day ago'`" -am ""
+```
-# ইন্টারঅ্যাক্টিভভাবে যোগ করুন
-git add -i
+### শেষ কমিট সংশোধন করুন
-# রিপোজিটরি এবং ওয়ার্কিং ডিরেক্টরি থেকে ফাইল মুছুন
-git rm <ফাইল>
+> ⚠️ **সতর্কতা:** প্রকাশিত কমিট সংশোধন করবেন না!
-# শুধু রিপোজিটরি থেকে ফাইল মুছুন (ডিরেক্টরিতে রাখুন)
-git rm --cached <ফাইল>
+**শেষ কমিট সংশোধন করুন:**
+```bash
+git commit -a --amend
+```
-# ফাইল সরান/নাম পরিবর্তন করুন
-git mv <উৎস-ফাইল> <গন্তব্য-ফাইল>
+**কমিট বার্তা পরিবর্তন না করে সংশোধন করুন:**
+```bash
+git commit --amend --no-edit
```
----
+**কমিটারের তারিখ পরিবর্তন করুন:**
+```bash
+GIT_COMMITTER_DATE="date" git commit --amend
+```
-## 💾 কমিট
+**লেখকের তারিখ পরিবর্তন করুন:**
+```bash
+git commit --amend --date="date"
+```
-### রিপোজিটরিতে পরিবর্তন সংরক্ষণ করুন:
+### পরিবর্তন স্ট্যাশ করা
+**বর্তমান পরিবর্তন অস্থায়ীভাবে সংরক্ষণ করুন:**
```bash
-# বার্তা সহ কমিট করুন
-git commit -m "কমিট বার্তা"
+git stash
+```
-# সব পরিবর্তিত ফাইল যোগ করে কমিট করুন
-git commit -am "কমিট বার্তা"
+**শেষ স্ট্যাশ করা পরিবর্তন প্রয়োগ করুন:**
+```bash
+git stash apply
+```
-# শেষ কমিট সংশোধন করুন
-git commit --amend
+**নির্দিষ্ট স্ট্যাশ প্রয়োগ করুন:**
+```bash
+git stash apply stash@{stash_number}
+```
+> উপলব্ধ স্ট্যাশ দেখতে `git stash list` ব্যবহার করুন
-# খালি কমিট করুন (CI/CD ট্রিগারের জন্য উপযোগী)
-git commit --allow-empty -m "CI ট্রিগার"
+**শেষ স্ট্যাশ মুছুন:**
+```bash
+git stash drop
+```
-# বিস্তারিত বার্তা সহ কমিট করুন (এডিটর খুলবে)
-git commit
+**অকমিটেড পরিবর্তন অন্য ব্রাঞ্চে স্থানান্তর করুন:**
+```bash
+git stash
+git checkout branch2
+git stash pop
```
---
-## 🌿 ব্রাঞ্চ
+## 🔍 অনুসন্ধান
-### ব্রাঞ্চের সাথে কাজ করুন:
+### টেক্সট অনুসন্ধান
+**সব ফাইলে টেক্সট অনুসন্ধান করুন:**
```bash
-# সব ব্রাঞ্চ দেখুন
-git branch
+git grep "Hello"
+```
-# রিমোট ব্রাঞ্চ দেখুন
-git branch -r
+**নির্দিষ্ট ভার্সনে অনুসন্ধান করুন:**
+```bash
+git grep "Hello" v2.5
+```
-# সব ব্রাঞ্চ দেখুন (লোকাল এবং রিমোট)
-git branch -a
+### কমিট অনুসন্ধান
-# নতুন ব্রাঞ্চ তৈরি করুন
-git branch <ব্রাঞ্চ-নাম>
+**নির্দিষ্ট কীওয়ার্ড যোগ করা কমিট খুঁজুন:**
+```bash
+git log -S 'keyword'
+```
-# ব্রাঞ্চ পরিবর্তন করুন
-git checkout <ব্রাঞ্চ-নাম>
+**রেগুলার এক্সপ্রেশন দিয়ে অনুসন্ধান করুন:**
+```bash
+git log -S 'keyword' --pickaxe-regex
+```
-# নতুন ব্রাঞ্চ তৈরি করে সুইচ করুন
-git checkout -b <ব্রাঞ্চ-নাম>
+---
-# নির্দিষ্ট কমিট থেকে ব্রাঞ্চ তৈরি করুন
-git checkout -b <ব্রাঞ্চ-নাম> <কমিট-হ্যাশ>
+## 📖 কমিট ইতিহাস
-# ব্রাঞ্চ মুছুন
-git branch -d <ব্রাঞ্চ-নাম>
+### মৌলিক ইতিহাস
-# জোর করে ব্রাঞ্চ মুছুন
-git branch -D <ব্রাঞ্চ-নাম>
+**সব কমিট দেখুন (বিস্তারিত):**
+```bash
+git log
+```
-# বর্তমান ব্রাঞ্চের নাম পরিবর্তন করুন
-git branch -m <নতুন-নাম>
+**কমিট দেখুন (প্রতিটি এক লাইনে):**
+```bash
+git log --oneline
+```
-# নির্দিষ্ট ব্রাঞ্চের নাম পরিবর্তন করুন
-git branch -m <পুরানো-নাম> <নতুন-নাম>
+**নির্দিষ্ট লেখকের কমিট দেখুন:**
+```bash
+git log --author="username"
```
----
+**নির্দিষ্ট ফাইলের পরিবর্তন দেখুন:**
+```bash
+git log -p
+```
-## 🔀 মার্জ
+### উন্নত ইতিহাস
-### ব্রাঞ্চের মধ্যে পরিবর্তন মার্জ করুন:
+**ব্রাঞ্চ তুলনা করুন:**
+```bash
+git log --oneline .. --left-right
+```
+**কে কখন কী পরিবর্তন করেছে দেখুন:**
```bash
-# বর্তমান ব্রাঞ্চে অন্য ব্রাঞ্চ মার্জ করুন
-git merge <ব্রাঞ্চ-নাম>
+git blame
+```
-# ফাস্ট-ফরওয়ার্ড ছাড়া মার্জ করুন (মার্জ কমিট তৈরি করুন)
-git merge --no-ff <ব্রাঞ্চ-নাম>
+### রেফারেন্স লগ
-# শুধু ফাস্ট-ফরওয়ার্ড হলে মার্জ করুন
-git merge --ff-only <ব্রাঞ্চ-নাম>
+**রেফারেন্স লগ দেখুন:**
+```bash
+git reflog show
+```
-# চলমান মার্জ বাতিল করুন
-git merge --abort
+**রেফারেন্স লগ মুছুন:**
+```bash
+git reflog delete
+```
-# কনফ্লিক্ট সমাধানের পর মার্জ চালিয়ে যান
-git merge --continue
+---
+
+## 📁 সরানো / নাম পরিবর্তন
+
+**একটি ফাইলের নাম পরিবর্তন করুন:**
+```bash
+git mv Index.txt Index.html
```
---
-## 🌐 রিমোট রিপোজিটরি
+## 🌿 ব্রাঞ্চ ও ট্যাগ
-### রিমোট রিপোজিটরি পরিচালনা:
+### ব্রাঞ্চ তালিকা
+**লোকাল ব্রাঞ্চ তালিকা দেখুন:**
```bash
-# রিমোট রিপোজিটরি দেখুন
-git remote
-
-# URL সহ রিমোট রিপোজিটরি দেখুন
-git remote -v
+git branch
+```
-# রিমোট রিপোজিটরি যোগ করুন
-git remote add <নাম>
+**সব ব্রাঞ্চ তালিকা দেখুন (লোকাল + রিমোট):**
+```bash
+git branch -a
+```
-# রিমোট রিপোজিটরির URL পরিবর্তন করুন
-git remote set-url <নাম> <নতুন-url>
+**রিমোট ব্রাঞ্চ তালিকা দেখুন:**
+```bash
+git branch -r
+```
-# রিমোট রিপোজিটরি মুছুন
-git remote remove <নাম>
+**মার্জ হওয়া ব্রাঞ্চ তালিকা দেখুন:**
+```bash
+git branch --merged
+```
-# রিমোট রিপোজিটরিতে পরিবর্তন পুশ করুন
-git push <রিমোট> <ব্রাঞ্চ>
+### ব্রাঞ্চ পরিবর্তন ও তৈরি
-# ব্রাঞ্চ পুশ করে ট্র্যাকিং সেট করুন
-git push -u <রিমোট> <ব্রাঞ্চ>
+**বিদ্যমান ব্রাঞ্চে সুইচ করুন:**
+```bash
+git checkout
+```
-# সব ব্রাঞ্চ পুশ করুন
-git push --all
+**নতুন ব্রাঞ্চ তৈরি করে সুইচ করুন:**
+```bash
+git checkout -b
+```
-# ট্যাগ পুশ করুন
-git push --tags
+**আগের ব্রাঞ্চে সুইচ করুন:**
+```bash
+git checkout -
+```
-# রিমোট রিপোজিটরি থেকে পরিবর্তন ডাউনলোড করুন
-git pull <রিমোট> <ব্রাঞ্চ>
+**বিদ্যমান ব্রাঞ্চ থেকে ব্রাঞ্চ তৈরি করুন:**
+```bash
+git checkout -b
+```
-# মার্জ ছাড়া পরিবর্তন ডাউনলোড করুন
-git fetch <রিমোট>
+**নির্দিষ্ট কমিট থেকে ব্রাঞ্চ তৈরি করুন:**
+```bash
+git checkout -b
+```
-# সব রিমোট ব্রাঞ্চ ডাউনলোড করুন
-git fetch --all
+**সুইচ না করে ব্রাঞ্চ তৈরি করুন:**
+```bash
+git branch
```
----
+**ট্র্যাকিং ব্রাঞ্চ তৈরি করুন:**
+```bash
+git branch --track
+```
-## 📚 হিস্ট্রি এবং লগ
+### ব্রাঞ্চ অপারেশন
-### কমিট ইতিহাস অন্বেষণ করুন:
+**ভিন্ন ব্রাঞ্চ থেকে একটি ফাইল চেকআউট করুন:**
+```bash
+git checkout --
+```
+**অন্য ব্রাঞ্চ থেকে নির্দিষ্ট কমিট প্রয়োগ করুন:**
```bash
-# কমিট ইতিহাস দেখুন
-git log
+git cherry-pick
+```
-# প্রতি কমিটের জন্য এক লাইনে ইতিহাস দেখুন
-git log --oneline
+**বর্তমান ব্রাঞ্চের নাম পরিবর্তন করুন:**
+```bash
+git branch -m
+```
-# গ্রাফ সহ ইতিহাস দেখুন
-git log --graph
+**লোকাল ব্রাঞ্চ মুছুন:**
+```bash
+git branch -d
+```
-# নির্দিষ্ট ফাইলের ইতিহাস দেখুন
-git log <ফাইল>
+**জোর করে লোকাল ব্রাঞ্চ মুছুন:**
+```bash
+git branch -D
+```
+> ⚠️ **সতর্কতা:** আপনি মার্জ না হওয়া পরিবর্তন হারাবেন!
-# কমিট পরিসংখ্যান দেখুন
-git log --stat
+### ট্যাগ
-# প্রতি কমিটের পরিবর্তন দেখুন
-git log -p
+**HEAD-এ ট্যাগ তৈরি করুন:**
+```bash
+git tag
+```
-# শেষ N কমিট দেখুন
-git log -n <সংখ্যা>
+**টীকাযুক্ত ট্যাগ তৈরি করুন:**
+```bash
+git tag -a
+```
-# তারিখের মধ্যে কমিট দেখুন
-git log --since="2023-01-01" --until="2023-12-31"
+**বার্তা সহ ট্যাগ তৈরি করুন:**
+```bash
+git tag -am 'message here'
+```
-# লেখক অনুযায়ী কমিট দেখুন
-git log --author="লেখকের নাম"
+**সব ট্যাগ তালিকা দেখুন:**
+```bash
+git tag
+```
-# কমিট বার্তায় অনুসন্ধান করুন
-git log --grep="কীওয়ার্ড"
+**বার্তা সহ ট্যাগ তালিকা দেখুন:**
+```bash
+git tag -n
```
---
-## 🔍 অনুসন্ধান
+## 🔄 আপডেট ও প্রকাশ
-### ইতিহাস এবং বিষয়বস্তুতে অনুসন্ধান:
+### রিমোট ব্যবস্থাপনা
+**কনফিগার করা রিমোট তালিকা দেখুন:**
```bash
-# কমিট বার্তায় অনুসন্ধান করুন
-git log --grep="কীওয়ার্ড"
+git remote -v
+```
-# কোডের পরিবর্তনে অনুসন্ধান করুন
-git log -S "কোডের অংশ"
+**রিমোটের তথ্য দেখুন:**
+```bash
+git remote show
+```
-# কাজের ফাইলে অনুসন্ধান করুন
-git grep "প্যাটার্ন"
+**নতুন রিমোট যোগ করুন:**
+```bash
+git remote add
+```
-# নির্দিষ্ট কমিটে অনুসন্ধান করুন
-git grep "প্যাটার্ন" <কমিট-হ্যাশ>
+**রিমোটের নাম পরিবর্তন করুন:**
+```bash
+git remote rename
+```
-# বড়/ছোট হাতের অক্ষর উপেক্ষা করে অনুসন্ধান
-git grep -i "প্যাটার্ন"
+**রিমোট মুছুন:**
+```bash
+git remote rm
+```
+> ℹ️ **নোট:** এটি শুধুমাত্র লোকালভাবে রিমোট রেফারেন্স মুছে দেয়, রিমোট রিপোজিটরি নিজে নয়।
-# পূর্ণ শব্দ অনুসন্ধান
-git grep -w "শব্দ"
+### ফেচ ও পুল
-# লাইন নম্বর দেখান
-git grep -n "প্যাটার্ন"
+**মার্জ না করে পরিবর্তন ডাউনলোড করুন:**
+```bash
+git fetch
```
----
-
-## 📁 সরানো/নাম পরিবর্তন
+**পরিবর্তন ডাউনলোড ও মার্জ করুন:**
+```bash
+git pull
+```
-### ফাইল সরানো এবং নাম পরিবর্তন:
+**মেইন ব্রাঞ্চ থেকে পরিবর্তন আনুন:**
+```bash
+git pull origin master
+```
+**রিবেস সহ পুল করুন:**
```bash
-# ফাইলের নাম পরিবর্তন করুন
-git mv পুরানো_নাম.txt নতুন_নাম.txt
+git pull --rebase
+```
-# ফাইল ফোল্ডারে সরান
-git mv ফাইল.txt ফোল্ডার/
+### পুশ ও প্রকাশ
-# ফোল্ডারের নাম পরিবর্তন করুন
-git mv পুরানো_ফোল্ডার নতুন_ফোল্ডার
+**লোকাল পরিবর্তন প্রকাশ করুন:**
+```bash
+git push
+```
-# git mv ছাড়া নাম পরিবর্তনের প্রক্রিয়া
-mv পুরানো_নাম.txt নতুন_নাম.txt
-git add নতুন_নাম.txt
-git rm পুরানো_নাম.txt
+**রিমোট ব্রাঞ্চ মুছুন:**
+```bash
+# Git v1.7.0+
+git push --delete
-# লগে নাম পরিবর্তন খুঁজুন
-git log --follow ফাইল.txt
+# Git v1.5.0+
+git push :
+```
-# সরানো ট্র্যাক করুন
-git log --stat -M
+**ট্যাগ প্রকাশ করুন:**
+```bash
+git push --tags
```
---
-## 🏷️ ট্যাগ
+## 🔀 মার্জ ও রিবেস
-### ভার্সন ট্যাগ পরিচালনা:
+### মার্জ অপারেশন
+**বর্তমান HEAD-এ ব্রাঞ্চ মার্জ করুন:**
```bash
-# সব ট্যাগ দেখুন
-git tag
-
-# হালকা ট্যাগ তৈরি করুন
-git tag <ট্যাগ-নাম>
-
-# টীকাযুক্ত ট্যাগ তৈরি করুন
-git tag -a <ট্যাগ-নাম> -m "ট্যাগ বার্তা"
-
-# নির্দিষ্ট কমিটে ট্যাগ তৈরি করুন
-git tag -a <ট্যাগ-নাম> <কমিট-হ্যাশ>
+git merge
+```
-# ট্যাগের তথ্য দেখুন
-git show <ট্যাগ-নাম>
+**গ্লোবালভাবে মার্জ টুল কনফিগার করুন:**
+```bash
+git config --global merge.tool meld
+```
-# লোকাল ট্যাগ মুছুন
-git tag -d <ট্যাগ-নাম>
+**কনফিগার করা মার্জ টুল ব্যবহার করুন:**
+```bash
+git mergetool
+```
-# রিমোট ট্যাগ মুছুন
-git push --delete <রিমোট> <ট্যাগ-নাম>
+### রিবেস অপারেশন
-# নির্দিষ্ট ট্যাগ পুশ করুন
-git push <রিমোট> <ট্যাগ-নাম>
+> ⚠️ **সতর্কতা:** প্রকাশিত কমিট রিবেস করবেন না!
-# সব ট্যাগ পুশ করুন
-git push <রিমোট> --tags
+**বর্তমান HEAD ব্রাঞ্চে রিবেস করুন:**
+```bash
+git rebase
```
----
+**রিবেস বাতিল করুন:**
+```bash
+git rebase --abort
+```
-## ↩️ পরিবর্তন পূর্বাবস্থায় ফেরানো
+**কনফ্লিক্ট সমাধানের পর রিবেস চালিয়ে যান:**
+```bash
+git rebase --continue
+```
-### পরিবর্তন ফিরিয়ে আনুন:
+### কনফ্লিক্ট সমাধান
+**ফাইলকে সমাধানকৃত হিসেবে চিহ্নিত করুন:**
```bash
-# নির্দিষ্ট ফাইলের পরিবর্তন বাতিল করুন
-git checkout <ফাইল>
-
-# সব অকমিট পরিবর্তন বাতিল করুন
-git checkout .
+git add
+```
-# নির্দিষ্ট ভার্সনে ফাইল ফিরিয়ে আনুন
-git checkout <কমিট-হ্যাশ> <ফাইল>
+**সমাধানকৃত ফাইল মুছুন:**
+```bash
+git rm
+```
-# স্টেজিং এরিয়া থেকে ফাইল সরান
-git reset <ফাইল>
+### কমিট স্কোয়াশ করা
-# স্টেজিং এরিয়া থেকে সব ফাইল সরান
-git reset
+**স্কোয়াশ করার জন্য ইন্টারঅ্যাক্টিভ রিবেস:**
+```bash
+git rebase -i
+```
-# পূর্ববর্তী কমিটে ফিরে যান (পরিবর্তন রাখুন)
-git reset --soft HEAD~1
+**স্কোয়াশ কনফিগারেশনের উদাহরণ:**
+```
+# আগে
+pick
+pick
+pick
+
+# পরে (commit_id2 এবং commit_id3 কে commit_id তে স্কোয়াশ করুন)
+pick
+squash
+squash
+```
-# পূর্ববর্তী কমিটে ফিরে যান (পরিবর্তন বাতিল করুন)
-git reset --hard HEAD~1
+---
-# নির্দিষ্ট কমিটে ফিরে যান
-git reset --hard <কমিট-হ্যাশ>
+## ↩️ পূর্বাবস্থায় ফেরানো
-# অন্য কমিট বাতিল করে নতুন কমিট তৈরি করুন
-git revert <কমিট-হ্যাশ>
+### পরিবর্তন বাতিল করুন
-# একাধিক কমিট বাতিল করুন
-git revert <হ্যাশ-থেকে>..<হ্যাশ-পর্যন্ত>
+**সব লোকাল পরিবর্তন বাতিল করুন:**
+```bash
+git reset --hard HEAD
```
----
-
-## 📦 স্ট্যাশ
-
-### অস্থায়ীভাবে কাজ সংরক্ষণ করুন:
+**সব ফাইল আনস্টেজ করুন:**
+```bash
+git reset HEAD
+```
+**নির্দিষ্ট ফাইলের পরিবর্তন বাতিল করুন:**
```bash
-# বর্তমান পরিবর্তন স্ট্যাশে সংরক্ষণ করুন
-git stash
+git checkout HEAD