[
  {
    "path": ".gitignore",
    "content": ".DS_Store\n.idea"
  },
  {
    "path": ".travis.yml",
    "content": "language: ruby\nrvm:\n  - 2.2\nbefore_script:\n  - gem install awesome_bot\nscript:\n  - awesome_bot README.md --white-list travis-ci,gitflow-installer.sh,domain.com/user/repo.git\n"
  },
  {
    "path": "README.md",
    "content": "# Git and Git Flow Cheat Sheet \n[![Awesome](https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg)](https://github.com/sindresorhus/awesome)\n\n<p align=\"center\">\n    <img alt=\"Git\" src=\"./Img/git-logo.png\" height=\"190\" width=\"455\">\n</p>\n\n---\n\n## 📖 About\n\nThis comprehensive Git cheat sheet helps you master Git commands without memorizing everything. Whether you're a beginner or an experienced developer, this guide provides quick reference to essential Git operations.\n\n**Contributions Welcome!** Feel free to:\n- Fix grammar mistakes\n- Add new commands\n- Translate to your language\n- Improve explanations\n\n---\n## 📋 Table of Contents\n\n- [🔧 Setup](#-setup)\n- [⚙️ Configuration Files](#️-configuration-files)\n- [🆕 Create Repository](#-create-repository)\n- [📝 Local Changes](#-local-changes)\n- [🔍 Search](#-search)\n- [📖 Commit History](#-commit-history)\n- [📁 Move / Rename](#-move--rename)\n- [🌿 Branches & Tags](#-branches--tags)\n- [🔄 Update & Publish](#-update--publish)\n- [🔀 Merge & Rebase](#-merge--rebase)\n- [↩️ Undo](#️-undo)\n- [🌊 Git Flow](#-git-flow)\n- [🌍 Other Languages](#-other-languages)\n\n---\n\n## 🔧 Setup\n\n### View Configuration\n\n**Show current configuration:**\n```bash\ngit config --list\n```\n\n**Show repository configuration:**\n```bash\ngit config --local --list\n```\n\n**Show global configuration:**\n```bash\ngit config --global --list\n```\n\n**Show system configuration:**\n```bash\ngit config --system --list\n```\n\n### User Configuration\n\n**Set your name for version history:**\n```bash\ngit config --global user.name \"[firstname lastname]\"\n```\n\n**Set your email address:**\n```bash\ngit config --global user.email \"[valid-email]\"\n```\n\n### Display & Editor Settings\n\n**Enable automatic command line coloring:**\n```bash\ngit config --global color.ui auto\n```\n\n**Set global editor for commits:**\n```bash\ngit config --global core.editor vi\n```\n\n---\n\n## ⚙️ Configuration Files\n\n| Scope | Location | Command Flag |\n|-------|----------|--------------|\n| **Repository** | `<repo>/.git/config` | `--local` |\n| **User** | `~/.gitconfig` | `--global` |\n| **System** | `/etc/gitconfig` | `--system` |\n\n---\n\n## 🆕 Create Repository\n\n### Clone Existing Repository\n\n**Via SSH:**\n```bash\ngit clone ssh://user@domain.com/repo.git\n```\n\n**Via HTTPS:**\n```bash\ngit clone https://domain.com/user/repo.git\n```\n\n### Initialize New Repository\n\n**Create repository in current directory:**\n```bash\ngit init\n```\n\n**Create repository in specific directory:**\n```bash\ngit init <directory>\n```\n\n---\n\n## 📝 Local Changes\n\n### Check Status & Differences\n\n**View working directory status:**\n```bash\ngit status\n```\n\n**Show changes to tracked files:**\n```bash\ngit diff\n```\n\n**Show changes in specific file:**\n```bash\ngit diff <file>\n```\n\n### Staging Changes\n\n**Add all current changes:**\n```bash\ngit add .\n```\n\n**Add specific files:**\n```bash\ngit add <filename1> <filename2>\n```\n\n**Interactively add parts of a file:**\n```bash\ngit add -p <file>\n```\n\n### Committing Changes\n\n**Commit all tracked file changes:**\n```bash\ngit commit -a\n```\n\n**Commit staged changes:**\n```bash\ngit commit\n```\n\n**Commit with message:**\n```bash\ngit commit -m 'message here'\n```\n\n**Skip staging and commit with message:**\n```bash\ngit commit -am 'message here'\n```\n\n**Commit with specific date:**\n```bash\ngit commit --date=\"`date --date='n day ago'`\" -am \"<Commit Message Here>\"\n```\n\n### Modify Last Commit\n\n> ⚠️ **Warning:** Don't amend published commits!\n\n**Amend last commit:**\n```bash\ngit commit -a --amend\n```\n\n**Amend without changing commit message:**\n```bash\ngit commit --amend --no-edit\n```\n\n**Change committer date:**\n```bash\nGIT_COMMITTER_DATE=\"date\" git commit --amend\n```\n\n**Change author date:**\n```bash\ngit commit --amend --date=\"date\"\n```\n\n### Stashing Changes\n\n**Save current changes temporarily:**\n```bash\ngit stash\n```\n\n**Apply last stashed changes:**\n```bash\ngit stash apply\n```\n\n**Apply specific stash:**\n```bash\ngit stash apply stash@{stash_number}\n```\n> Use `git stash list` to see available stashes\n\n**Remove last stash:**\n```bash\ngit stash drop\n```\n\n**Move uncommitted changes to another branch:**\n```bash\ngit stash\ngit checkout branch2\ngit stash pop\n```\n\n---\n\n## 🔍 Search\n\n### Text Search\n\n**Search for text in all files:**\n```bash\ngit grep \"Hello\"\n```\n\n**Search in specific version:**\n```bash\ngit grep \"Hello\" v2.5\n```\n\n### Commit Search\n\n**Find commits that introduced specific keyword:**\n```bash\ngit log -S 'keyword'\n```\n\n**Search with regular expression:**\n```bash\ngit log -S 'keyword' --pickaxe-regex\n```\n\n---\n\n## 📖 Commit History\n\n### Basic History\n\n**Show all commits (detailed):**\n```bash\ngit log\n```\n\n**Show commits (one line each):**\n```bash\ngit log --oneline\n```\n\n**Show commits by specific author:**\n```bash\ngit log --author=\"username\"\n```\n\n**Show changes for specific file:**\n```bash\ngit log -p <file>\n```\n\n### Advanced History\n\n**Compare branches:**\n```bash\ngit log --oneline <origin/master>..<remote/master> --left-right\n```\n\n**Show who changed what and when:**\n```bash\ngit blame <file>\n```\n\n### Reference Logs\n\n**Show reference log:**\n```bash\ngit reflog show\n```\n\n**Delete reference log:**\n```bash\ngit reflog delete\n```\n\n---\n\n## 📁 Move / Rename\n\n**Rename a file:**\n```bash\ngit mv Index.txt Index.html\n```\n\n---\n\n## 🌿 Branches & Tags\n\n### List Branches\n\n**List local branches:**\n```bash\ngit branch\n```\n\n**List all branches (local + remote):**\n```bash\ngit branch -a\n```\n\n**List remote branches:**\n```bash\ngit branch -r\n```\n\n**List merged branches:**\n```bash\ngit branch --merged\n```\n\n### Switch & Create Branches\n\n**Switch to existing branch:**\n```bash\ngit checkout <branch>\n```\n\n**Create and switch to new branch:**\n```bash\ngit checkout -b <branch>\n```\n\n**Switch to previous branch:**\n```bash\ngit checkout -\n```\n\n**Create branch from existing branch:**\n```bash\ngit checkout -b <new_branch> <existing_branch>\n```\n\n**Create branch from specific commit:**\n```bash\ngit checkout <commit-hash> -b <new_branch_name>\n```\n\n**Create branch without switching:**\n```bash\ngit branch <new-branch>\n```\n\n**Create tracking branch:**\n```bash\ngit branch --track <new-branch> <remote-branch>\n```\n\n### Branch Operations\n\n**Checkout single file from different branch:**\n```bash\ngit checkout <branch> -- <filename>\n```\n\n**Apply specific commit from another branch:**\n```bash\ngit cherry-pick <commit hash>\n```\n\n**Rename current branch:**\n```bash\ngit branch -m <new_branch_name>\n```\n\n**Delete local branch:**\n```bash\ngit branch -d <branch>\n```\n\n**Force delete local branch:**\n```bash\ngit branch -D <branch>\n```\n> ⚠️ **Warning:** You will lose unmerged changes!\n\n### Tags\n\n**Create tag at HEAD:**\n```bash\ngit tag <tag-name>\n```\n\n**Create annotated tag:**\n```bash\ngit tag -a <tag-name>\n```\n\n**Create tag with message:**\n```bash\ngit tag <tag-name> -am 'message here'\n```\n\n**List all tags:**\n```bash\ngit tag\n```\n\n**List tags with messages:**\n```bash\ngit tag -n\n```\n\n---\n\n## 🔄 Update & Publish\n\n### Remote Management\n\n**List configured remotes:**\n```bash\ngit remote -v\n```\n\n**Show remote information:**\n```bash\ngit remote show <remote>\n```\n\n**Add new remote:**\n```bash\ngit remote add <remote> <url>\n```\n\n**Rename remote:**\n```bash\ngit remote rename <remote> <new_remote>\n```\n\n**Remove remote:**\n```bash\ngit remote rm <remote>\n```\n> ℹ️ **Note:** This only removes the remote reference locally, not the remote repository itself.\n\n### Fetch & Pull\n\n**Download changes without merging:**\n```bash\ngit fetch <remote>\n```\n\n**Download and merge changes:**\n```bash\ngit pull <remote> <branch>\n```\n\n**Get changes from main branch:**\n```bash\ngit pull origin master\n```\n\n**Pull with rebase:**\n```bash\ngit pull --rebase <remote> <branch>\n```\n\n### Push & Publish\n\n**Publish local changes:**\n```bash\ngit push <remote> <branch>\n```\n\n**Delete remote branch:**\n```bash\n# Git v1.7.0+\ngit push <remote> --delete <branch>\n\n# Git v1.5.0+\ngit push <remote> :<branch>\n```\n\n**Publish tags:**\n```bash\ngit push --tags\n```\n\n---\n\n## 🔀 Merge & Rebase\n\n### Merge Operations\n\n**Merge branch into current HEAD:**\n```bash\ngit merge <branch>\n```\n\n**Configure merge tool globally:**\n```bash\ngit config --global merge.tool meld\n```\n\n**Use configured merge tool:**\n```bash\ngit mergetool\n```\n\n### Rebase Operations\n\n> ⚠️ **Warning:** Don't rebase published commits!\n\n**Rebase current HEAD onto branch:**\n```bash\ngit rebase <branch>\n```\n\n**Abort rebase:**\n```bash\ngit rebase --abort\n```\n\n**Continue rebase after resolving conflicts:**\n```bash\ngit rebase --continue\n```\n\n### Conflict Resolution\n\n**Mark file as resolved:**\n```bash\ngit add <resolved-file>\n```\n\n**Remove resolved file:**\n```bash\ngit rm <resolved-file>\n```\n\n### Squashing Commits\n\n**Interactive rebase for squashing:**\n```bash\ngit rebase -i <commit-just-before-first>\n```\n\n**Example squash configuration:**\n```\n# Before\npick <commit_id>\npick <commit_id2>\npick <commit_id3>\n\n# After (squash commit_id2 and commit_id3 into commit_id)\npick <commit_id>\nsquash <commit_id2>\nsquash <commit_id3>\n```\n\n---\n\n## ↩️ Undo\n\n### Discard Changes\n\n**Discard all local changes:**\n```bash\ngit reset --hard HEAD\n```\n\n**Unstage all files:**\n```bash\ngit reset HEAD\n```\n\n**Discard changes in specific file:**\n```bash\ngit checkout HEAD <file>\n```\n\n### Reset Operations\n\n**Reset to previous commit (discard all changes):**\n```bash\ngit reset --hard <commit>\n```\n\n**Reset to remote branch state:**\n```bash\ngit reset --hard <remote/branch>\n# Example: git reset --hard upstream/master\n```\n\n**Reset preserving changes as unstaged:**\n```bash\ngit reset <commit>\n```\n\n**Reset preserving uncommitted local changes:**\n```bash\ngit reset --keep <commit>\n```\n\n### Revert Commits\n\n**Revert commit (create new commit with opposite changes):**\n```bash\ngit revert <commit>\n```\n\n### Clean Ignored Files\n\n**Remove accidentally committed files that should be ignored:**\n```bash\ngit rm -r --cached .\ngit add .\ngit commit -m \"remove ignored files\"\n```\n\n---\n\n## 🌊 Git Flow\n\n**Improved Git-flow:** [git-flow-avh](https://github.com/petervanderdoes/gitflow-avh)\n\n### 📋 Table of Contents\n- [🔧 Setup](#setup-1)\n- [🚀 Getting Started](#getting-started)\n- [✨ Features](#features)\n- [🎁 Make a Release](#make-a-release)\n- [🔥 Hotfixes](#hotfixes)\n- [📊 Commands Overview](#commands-overview)\n\n---\n\n### 🔧 Setup {#setup-1}\n\n> **Prerequisite:** Working Git installation required. Git-flow works on macOS, Linux, and Windows.\n\n**macOS (Homebrew):**\n```bash\nbrew install git-flow-avh\n```\n\n**macOS (MacPorts):**\n```bash\nport install git-flow\n```\n\n**Linux (Debian-based):**\n```bash\nsudo apt-get install git-flow\n```\n\n**Windows (Cygwin):**\n> Requires wget and util-linux\n```bash\nwget -q -O - --no-check-certificate https://raw.githubusercontent.com/petervanderdoes/gitflow/develop/contrib/gitflow-installer.sh install <state> | bash\n```\n\n---\n\n### 🚀 Getting Started\n\nGit-flow needs initialization to customize your project setup.\n\n**Initialize (interactive):**\n```bash\ngit flow init\n```\n> You'll answer questions about branch naming conventions. Default values are recommended.\n\n**Initialize (use defaults):**\n```bash\ngit flow init -d\n```\n\n---\n\n### ✨ Features\n\nFeatures are for developing new functionality for upcoming releases. They typically exist only in developer repositories.\n\n**Start new feature:**\n```bash\ngit flow feature start MYFEATURE\n```\n> Creates feature branch based on 'develop' and switches to it\n\n**Finish feature:**\n```bash\ngit flow feature finish MYFEATURE\n```\n> This will:\n> 1. Merge MYFEATURE into 'develop'\n> 2. Remove the feature branch\n> 3. Switch back to 'develop'\n\n**Publish feature (for collaboration):**\n```bash\ngit flow feature publish MYFEATURE\n```\n\n**Get published feature:**\n```bash\ngit flow feature pull origin MYFEATURE\n```\n\n**Track origin feature:**\n```bash\ngit flow feature track MYFEATURE\n```\n\n---\n\n### 🎁 Make a Release\n\nReleases support preparation of new production releases, allowing minor bug fixes and preparing meta-data.\n\n**Start release:**\n```bash\ngit flow release start RELEASE [BASE]\n```\n> Creates release branch from 'develop'. Optionally specify [BASE] commit SHA-1.\n\n**Publish release:**\n```bash\ngit flow release publish RELEASE\n```\n\n**Track remote release:**\n```bash\ngit flow release track RELEASE\n```\n\n**Finish release:**\n```bash\ngit flow release finish RELEASE\n```\n> This will:\n> 1. Merge release branch into 'master'\n> 2. Tag the release\n> 3. Back-merge release into 'develop'\n> 4. Remove release branch\n\n> 💡 **Don't forget:** Push your tags with `git push --tags`\n\n---\n\n### 🔥 Hotfixes\n\nHotfixes address critical issues in live production versions. They branch off from the corresponding tag on master.\n\n**Start hotfix:**\n```bash\ngit flow hotfix start VERSION [BASENAME]\n```\n\n**Finish hotfix:**\n```bash\ngit flow hotfix finish VERSION\n```\n> Merges back into both 'develop' and 'master', and tags the master merge\n\n---\n\n### 📊 Commands Overview\n\n<p align=\"center\">\n    <img alt=\"Git Flow Commands\" src=\"./Img/git-flow-commands.png\" height=\"270\" width=\"460\">\n</p>\n\n### 🌊 Git Flow Schema\n\n<p align=\"center\">\n    <img alt=\"Git Flow Schema\" src=\"Img/git-flow-commands-without-flow.png\">\n</p>\n\n---\n\n\n## 🌍 Other Languages\n\nThis cheat sheet is available in multiple languages:\n\n| Language | Link |\n|----------|------|\n| 🇸🇦 Arabic | [git-cheat-sheet-ar.md](./other-sheets/git-cheat-sheet-ar.md) |\n| 🇧🇩 Bengali | [git-cheat-sheet-bn.md](./other-sheets/git-cheat-sheet-bn.md) |\n| 🇧🇷 Brazilian Portuguese | [git-cheat-sheet-pt_BR.md](./other-sheets/git-cheat-sheet-pt_BR.md) |\n| 🇨🇳 Chinese | [git-cheat-sheet-zh.md](./other-sheets/git-cheat-sheet-zh.md) |\n| 🇩🇪 German | [git-cheat-sheet-de.md](./other-sheets/git-cheat-sheet-de.md) |\n| 🇬🇷 Greek | [git-cheat-sheet-el.md](./other-sheets/git-cheat-sheet-el.md) |\n| 🇮🇳 Hindi | [git-cheat-sheet-hi.md](./other-sheets/git-cheat-sheet-hi.md) |\n| 🇰🇷 Korean | [git-cheat-sheet-ko.md](./other-sheets/git-cheat-sheet-ko.md) |\n| 🇵🇱 Polish | [git-cheat-sheet-pl.md](./other-sheets/git-cheat-sheet-pl.md) |\n| 🇪🇸 Spanish | [git-cheat-sheet-es.md](./other-sheets/git-cheat-sheet-es.md) |\n| 🇹🇷 Turkish | [git-cheat-sheet-tr.md](./other-sheets/git-cheat-sheet-tr.md) |\n\n---\n\n## 🤝 Contributing\n\nWe welcome contributions! You can:\n\n- 🐛 Report bugs or typos\n- ✨ Add new Git commands\n- 🌍 Translate to new languages\n- 💡 Improve explanations\n- 📝 Enhance formatting\n\n**How to contribute:**\n1. Fork this repository\n2. Create your feature branch (`git checkout -b feature/AmazingFeature`)\n3. Commit your changes (`git commit -m 'Add some AmazingFeature'`)\n4. Push to the branch (`git push origin feature/AmazingFeature`)\n5. Open a Pull Request\n\n---\n\n## 📄 License\n\nThis project is open source and available under the [MIT License](LICENSE).\n\n---\n\n<p align=\"center\">\n    <b>⭐ Star this repository if you found it helpful!</b>\n</p>\n\n"
  },
  {
    "path": "_config.yml",
    "content": "theme: jekyll-theme-hacker"
  },
  {
    "path": "other-sheets/git-cheat-sheet-ar.md",
    "content": "# Git Cheat Sheet العربية\n\n![Git Logo](../Img/git-logo.png)\n\nدليل مرجعي سريع لأكثر أوامر Git استخداماً، منظم حسب الفئات لسهولة الاستخدام.\n\n---\n\n## 📖 حول هذا الدليل\n\nهذا الدليل المرجعي لـ Git هو مرجع شامل لكل من يريد تحسين سير عمله مع Git. من المبتدئين الذين يبدؤون رحلتهم مع Git إلى المطورين ذوي الخبرة، يوفر هذا الدليل أوامر منظمة ومصنفة لتسريع رحلة التطوير الخاصة بك.\n\n### الميزات الرئيسية:\n- **فئات منظمة**: الأوامر مرتبة في مجموعات واضحة ومنطقية\n- **أمثلة عملية**: مع حالات استخدام من العالم الحقيقي\n- **مناسب للمبتدئين**: مع شروحات واضحة ونصائح\n- **مرجع فوري**: وصول سريع للأوامر الأساسية\n\n---\n\n## 📑 جدول المحتويات\n\n- [🔧 الإعداد الأولي](#الإعداد-الأولي)\n- [⚙️ ملفات الإعداد](#ملفات-الإعداد)\n- [📁 إعداد المستودع](#إعداد-المستودع)\n- [📊 أوامر الحالة](#أوامر-الحالة)\n- [📝 إدارة الملفات](#إدارة-الملفات)\n- [💾 التثبيتات (Commits)](#التثبيتات-commits)\n- [🌿 الفروع (Branches)](#الفروع-branches)\n- [🔀 الدمج (Merge)](#الدمج-merge)\n- [🌐 المستودعات البعيدة](#المستودعات-البعيدة)\n- [📚 السجل والتاريخ](#السجل-والتاريخ)\n- [🔍 البحث](#البحث)\n- [📋 النقل/إعادة التسمية](#النقل-إعادة-التسمية)\n- [🏷️ العلامات (Tags)](#العلامات-tags)\n- [↩️ التراجع عن التغييرات](#التراجع-عن-التغييرات)\n- [📦 المخزن المؤقت (Stash)](#المخزن-المؤقت-stash)\n- [🌊 Git Flow](#git-flow)\n- [💡 نصائح مفيدة](#نصائح-مفيدة)\n- [🌍 لغات أخرى](#لغات-أخرى)\n- [🤝 المساهمة](#المساهمة)\n- [📄 الترخيص](#الترخيص)\n- [📖 مصادر إضافية](#مصادر-إضافية)\n\n---\n\n## 🔧 الإعداد الأولي\n\nإعداد Git بمعلوماتك الشخصية:\n\n```bash\n# إعداد اسم المستخدم\ngit config --global user.name \"اسمك\"\n\n# إعداد البريد الإلكتروني\ngit config --global user.email \"email@example.com\"\n\n# عرض الإعدادات الحالية\ngit config --list\n\n# إعداد المحرر الافتراضي\ngit config --global core.editor \"nano\"\n\n# إعداد أداة المقارنة\ngit config --global merge.tool vimdiff\n```\n\n---\n\n## ⚙️ ملفات الإعداد\n\nيتم تخزين إعدادات Git على ثلاثة مستويات:\n\n| المستوى | موقع الملف | الأمر | الوصف |\n|---------|------------|-------|--------|\n| **System** | `/etc/gitconfig` | `--system` | إعدادات على مستوى النظام لجميع المستخدمين |\n| **Global** | `~/.gitconfig` أو `~/.config/git/config` | `--global` | إعدادات للمستخدم الحالي |\n| **Local** | `.git/config` | `--local` (افتراضي) | إعدادات للمستودع الحالي |\n\n```bash\n# عرض مستوى الإعداد\ngit config --show-origin user.name\n\n# تعيين إعداد على مستوى محدد\ngit config --local user.name \"اسم المشروع\"\ngit config --global user.email \"global@example.com\"\n```\n\n---\n\n## 📁 إعداد المستودع\n\n### إنشاء مستودع جديد:\n\n```bash\n# إنشاء مستودع Git جديد\ngit init\n\n# نسخ مستودع موجود\ngit clone <رابط-المستودع>\n\n# نسخ إلى مجلد محدد\ngit clone <رابط-المستودع> <اسم-المجلد>\n```\n\n---\n\n## 📊 أوامر الحالة\n\n### فحص حالة المستودع:\n\n```bash\n# عرض الحالة الحالية للمستودع\ngit status\n\n# عرض الحالة بصيغة مختصرة\ngit status -s\n\n# عرض الحالة متجاهلاً الملفات غير المتتبعة\ngit status --ignored\n\n# عرض الاختلافات في الملفات المعدلة\ngit diff\n\n# عرض الاختلافات في منطقة التحضير\ngit diff --staged\n\n# عرض الاختلافات بين الفروع\ngit diff <فرع1> <فرع2>\n```\n\n---\n\n## 📝 إدارة الملفات\n\n### إضافة وحذف الملفات:\n\n```bash\n# إضافة ملف محدد لمنطقة التحضير\ngit add <ملف>\n\n# إضافة جميع الملفات المعدلة\ngit add .\n\n# إضافة جميع الملفات من نوع محدد\ngit add *.txt\n\n# إضافة تفاعلية\ngit add -i\n\n# حذف ملف من المستودع ومجلد العمل\ngit rm <ملف>\n\n# حذف ملف من المستودع فقط (الاحتفاظ به في المجلد)\ngit rm --cached <ملف>\n\n# نقل/إعادة تسمية ملف\ngit mv <ملف-المصدر> <ملف-الوجهة>\n```\n\n---\n\n## 💾 التثبيتات (Commits)\n\n### حفظ التغييرات في المستودع:\n\n```bash\n# تثبيت مع رسالة\ngit commit -m \"رسالة التثبيت\"\n\n# تثبيت مع إضافة جميع الملفات المعدلة\ngit commit -am \"رسالة التثبيت\"\n\n# تعديل التثبيت الأخير\ngit commit --amend\n\n# تثبيت فارغ (مفيد لـ CI/CD)\ngit commit --allow-empty -m \"تشغيل CI\"\n\n# تثبيت مع رسالة مفصلة (يفتح المحرر)\ngit commit\n```\n\n---\n\n## 🌿 الفروع (Branches)\n\n### العمل مع الفروع:\n\n```bash\n# عرض جميع الفروع\ngit branch\n\n# عرض الفروع البعيدة\ngit branch -r\n\n# عرض جميع الفروع (محلية وبعيدة)\ngit branch -a\n\n# إنشاء فرع جديد\ngit branch <اسم-الفرع>\n\n# التبديل إلى فرع\ngit checkout <اسم-الفرع>\n\n# إنشاء والتبديل إلى فرع جديد\ngit checkout -b <اسم-الفرع>\n\n# إنشاء فرع من تثبيت محدد\ngit checkout -b <اسم-الفرع> <هاش-التثبيت>\n\n# حذف فرع\ngit branch -d <اسم-الفرع>\n\n# حذف فرع بالقوة\ngit branch -D <اسم-الفرع>\n\n# إعادة تسمية الفرع الحالي\ngit branch -m <الاسم-الجديد>\n\n# إعادة تسمية فرع محدد\ngit branch -m <الاسم-القديم> <الاسم-الجديد>\n```\n\n---\n\n## 🔀 الدمج (Merge)\n\n### دمج التغييرات بين الفروع:\n\n```bash\n# دمج فرع في الفرع الحالي\ngit merge <اسم-الفرع>\n\n# دمج بدون fast-forward (إنشاء تثبيت دمج)\ngit merge --no-ff <اسم-الفرع>\n\n# دمج فقط إذا كان fast-forward\ngit merge --ff-only <اسم-الفرع>\n\n# إلغاء عملية الدمج الجارية\ngit merge --abort\n\n# متابعة الدمج بعد حل التعارضات\ngit merge --continue\n```\n\n---\n\n## 🌐 المستودعات البعيدة\n\n### إدارة المستودعات البعيدة:\n\n```bash\n# عرض المستودعات البعيدة\ngit remote\n\n# عرض المستودعات البعيدة مع الروابط\ngit remote -v\n\n# إضافة مستودع بعيد\ngit remote add <اسم> <رابط>\n\n# تغيير رابط المستودع البعيد\ngit remote set-url <اسم> <رابط-جديد>\n\n# حذف مستودع بعيد\ngit remote remove <اسم>\n\n# رفع التغييرات للمستودع البعيد\ngit push <بعيد> <فرع>\n\n# رفع فرع وتعيين التتبع\ngit push -u <بعيد> <فرع>\n\n# رفع جميع الفروع\ngit push --all\n\n# رفع العلامات\ngit push --tags\n\n# تحميل التغييرات من المستودع البعيد\ngit pull <بعيد> <فرع>\n\n# تحميل التغييرات بدون دمج\ngit fetch <بعيد>\n\n# تحميل جميع الفروع البعيدة\ngit fetch --all\n```\n\n---\n\n## 📚 السجل والتاريخ\n\n### استكشاف تاريخ التثبيتات:\n\n```bash\n# عرض تاريخ التثبيتات\ngit log\n\n# عرض التاريخ في سطر واحد لكل تثبيت\ngit log --oneline\n\n# عرض التاريخ مع رسم بياني\ngit log --graph\n\n# عرض تاريخ ملف محدد\ngit log <ملف>\n\n# عرض إحصائيات التثبيتات\ngit log --stat\n\n# عرض التغييرات في كل تثبيت\ngit log -p\n\n# عرض آخر N تثبيت\ngit log -n <عدد>\n\n# عرض التثبيتات بين تواريخ\ngit log --since=\"2023-01-01\" --until=\"2023-12-31\"\n\n# عرض التثبيتات حسب المؤلف\ngit log --author=\"اسم المؤلف\"\n\n# البحث في رسائل التثبيت\ngit log --grep=\"كلمة مفتاحية\"\n```\n\n---\n\n## 🔍 البحث\n\n### البحث في الملفات والتثبيتات:\n\n```bash\n# البحث عن نص في الملفات\ngit grep \"النص المطلوب\"\n\n# البحث في أنواع ملفات محددة\ngit grep \"النمط\" -- \"*.js\"\n\n# البحث في رسائل التثبيت\ngit log --grep=\"الرسالة\"\n\n# البحث في تغييرات التثبيتات\ngit log -S \"نص الكود\"\n\n# البحث عن أسماء الملفات\ngit ls-files | grep \"النمط\"\n\n# البحث عن ملفات في الفرع\ngit ls-tree -r --name-only <اسم-الفرع>\n```\n\n---\n\n## 📋 النقل/إعادة التسمية\n\n### نقل وإعادة تسمية الملفات:\n\n```bash\n# نقل/إعادة تسمية ملف\ngit mv <الاسم-القديم> <الاسم-الجديد>\n\n# نقل مجلد\ngit mv <المجلد-القديم> <المجلد-الجديد>\n\n# بعد نقل الملف يدوياً\nmv <الاسم-القديم> <الاسم-الجديد>\ngit rm <الاسم-القديم>\ngit add <الاسم-الجديد>\n\n# نقل ملفات متعددة\ngit mv *.txt <المجلد-الجديد>/\n\n# تتبع تاريخ مسار الملف\ngit log --follow <اسم-الملف>\n```\n\n---\n\n## 🏷️ العلامات (Tags)\n\n### إدارة علامات الإصدارات:\n\n```bash\n# عرض جميع العلامات\ngit tag\n\n# إنشاء علامة خفيفة\ngit tag <اسم-العلامة>\n\n# إنشاء علامة مشروحة\ngit tag -a <اسم-العلامة> -m \"رسالة العلامة\"\n\n# إنشاء علامة على تثبيت محدد\ngit tag -a <اسم-العلامة> <هاش-التثبيت>\n\n# عرض معلومات علامة\ngit show <اسم-العلامة>\n\n# حذف علامة محلية\ngit tag -d <اسم-العلامة>\n\n# حذف علامة بعيدة\ngit push --delete <بعيد> <اسم-العلامة>\n\n# رفع علامة محددة\ngit push <بعيد> <اسم-العلامة>\n\n# رفع جميع العلامات\ngit push <بعيد> --tags\n```\n\n---\n\n## ↩️ التراجع عن التغييرات\n\n### التراجع عن التعديلات:\n\n```bash\n# إلغاء التغييرات في ملف محدد\ngit checkout <ملف>\n\n# إلغاء جميع التغييرات غير المثبتة\ngit checkout .\n\n# إرجاع ملف لإصدار محدد\ngit checkout <هاش-التثبيت> <ملف>\n\n# إزالة ملف من منطقة التحضير\ngit reset <ملف>\n\n# إزالة جميع الملفات من منطقة التحضير\ngit reset\n\n# التراجع للتثبيت السابق (الاحتفاظ بالتغييرات)\ngit reset --soft HEAD~1\n\n# التراجع للتثبيت السابق (إلغاء التغييرات)\ngit reset --hard HEAD~1\n\n# التراجع لتثبيت محدد\ngit reset --hard <هاش-التثبيت>\n\n# إنشاء تثبيت يلغي تثبيت آخر\ngit revert <هاش-التثبيت>\n\n# إلغاء تثبيتات متعددة\ngit revert <هاش-من>..<هاش-إلى>\n```\n\n---\n\n## 📦 المخزن المؤقت (Stash)\n\n### حفظ العمل مؤقتاً:\n\n```bash\n# حفظ التغييرات الحالية في المخزن المؤقت\ngit stash\n\n# حفظ مع رسالة وصفية\ngit stash save \"رسالة وصفية\"\n\n# عرض جميع المخازن المؤقتة\ngit stash list\n\n# تطبيق آخر مخزن مؤقت\ngit stash apply\n\n# تطبيق مخزن مؤقت محدد\ngit stash apply stash@{0}\n\n# تطبيق وحذف آخر مخزن مؤقت\ngit stash pop\n\n# حذف مخزن مؤقت محدد\ngit stash drop stash@{0}\n\n# حذف جميع المخازن المؤقتة\ngit stash clear\n\n# عرض التغييرات في مخزن مؤقت\ngit stash show stash@{0}\n\n# إنشاء فرع من مخزن مؤقت\ngit stash branch <اسم-الفرع> stash@{0}\n```\n\n---\n\n## 🌊 Git Flow\n\nGit Flow هو نموذج تفريع يحدد سير عمل صارم مصمم حول إطلاق المشروع.\n\n### الفروع الرئيسية:\n- **master/main**: كود الإنتاج\n- **develop**: فرع التطوير الرئيسي\n\n### فروع الدعم:\n- **feature**: للميزات الجديدة\n- **release**: لتحضير إصدارات جديدة\n- **hotfix**: للإصلاحات العاجلة في الإنتاج\n\n### أوامر Git Flow:\n\n```bash\n# تهيئة git flow\ngit flow init\n\n# بدء ميزة جديدة\ngit flow feature start <اسم-الميزة>\n\n# إنهاء الميزة\ngit flow feature finish <اسم-الميزة>\n\n# نشر الميزة\ngit flow feature publish <اسم-الميزة>\n\n# بدء إصدار\ngit flow release start <إصدار>\n\n# إنهاء الإصدار\ngit flow release finish <إصدار>\n\n# بدء إصلاح عاجل\ngit flow hotfix start <إصدار>\n\n# إنهاء الإصلاح العاجل\ngit flow hotfix finish <إصدار>\n```\n\n### سير العمل بدون Git Flow:\n\n![Git Flow Commands](../Img/git-flow-commands-without-flow.png)\n\n```bash\n# إنشاء فرع الميزة\ngit checkout develop\ngit checkout -b feature/ميزة-جديدة\n\n# العمل على الميزة\ngit add .\ngit commit -m \"إضافة ميزة جديدة\"\n\n# دمج الميزة في develop\ngit checkout develop\ngit merge --no-ff feature/ميزة-جديدة\ngit branch -d feature/ميزة-جديدة\n\n# إنشاء فرع الإصدار\ngit checkout develop\ngit checkout -b release/1.0.0\n\n# إنهاء الإصدار\ngit checkout master\ngit merge --no-ff release/1.0.0\ngit tag -a 1.0.0 -m \"الإصدار 1.0.0\"\ngit checkout develop\ngit merge --no-ff release/1.0.0\ngit branch -d release/1.0.0\n```\n\n---\n\n## 💡 نصائح مفيدة\n\n### اختصارات مفيدة:\n\n```bash\n# إعداد اختصارات مفيدة\ngit config --global alias.st status\ngit config --global alias.co checkout\ngit config --global alias.br branch\ngit config --global alias.ci commit\ngit config --global alias.unstage 'reset HEAD --'\ngit config --global alias.last 'log -1 HEAD'\ngit config --global alias.visual '!gitk'\n```\n\n### ملفات .gitignore:\n\n```bash\n# إنشاء ملف .gitignore\necho \"node_modules/\" >> .gitignore\necho \"*.log\" >> .gitignore\necho \".env\" >> .gitignore\n\n# تجاهل ملفات متتبعة بالفعل\ngit rm --cached <ملف>\necho \"<ملف>\" >> .gitignore\ngit add .gitignore\ngit commit -m \"إضافة ملف إلى .gitignore\"\n```\n\n---\n\n## 🌍 لغات أخرى\n\nهذا الدليل المرجعي لـ Git متوفر باللغات التالية:\n\n- 🇺🇸 [English](../README.md)\n- 🇸🇦 **العربية** (الحالي)\n- 🇧🇩 [বাংলা](git-cheat-sheet-bn.md)\n- 🇩🇪 [Deutsch](git-cheat-sheet-de.md)\n- 🇬🇷 [Ελληνικά](git-cheat-sheet-el.md)\n- 🇪🇸 [Español](git-cheat-sheet-es.md)\n- 🇮🇳 [हिन्दी](git-cheat-sheet-hi.md)\n- 🇰🇷 [한국어](git-cheat-sheet-ko.md)\n- 🇵🇱 [Polski](git-cheat-sheet-pl.md)\n- 🇧🇷 [Português](git-cheat-sheet-pt_BR.md)\n- 🇹🇷 [Türkçe](git-cheat-sheet-tr.md)\n- 🇨🇳 [中文](git-cheat-sheet-zh.md)\n\n---\n\n## 🤝 المساهمة\n\nنرحب بالمساهمات! للمساعدة في تحسين هذا المشروع:\n\n1. **أبلغ عن المشاكل**: شارك الأخطاء أو اقتراحات التحسين\n2. **أضف لغات جديدة**: أنشئ ترجمات أو حسّن الموجودة\n3. **حسّن المحتوى**: أضف أوامر جديدة أو أمثلة أو شروحات\n4. **قدم ملاحظات**: شارك تجاربك واقتراحاتك\n\n### كيفية المساهمة:\n- [افتح مشكلة على GitHub](https://github.com/arslanbilal/git-cheat-sheet/issues)\n- أرسل طلب سحب (Pull Request)\n- اقترح تحسينات على الوثائق\n\n---\n\n## 📄 الترخيص\n\nهذا المشروع مرخص تحت رخصة MIT. راجع ملف [LICENSE](../LICENSE) لمزيد من التفاصيل.\n\n---\n\n## 📖 مصادر إضافية\n\n- [الوثائق الرسمية لـ Git](https://git-scm.com/doc)\n- [دروس Git من Atlassian](https://www.atlassian.com/git/tutorials)\n- [ورقة مرجعية لـ Git من GitHub](https://education.github.com/git-cheat-sheet-education.pdf)\n- [دروس Git التفاعلية](https://learngitbranching.js.org/)\n\n---\n\n<div align=\"center\">\n  <strong>⭐ إذا كان هذا الدليل مفيداً، امنحه نجمة!</strong><br>\n  <em>برمجة سعيدة مع Git! 🚀</em>\n</div>\n"
  },
  {
    "path": "other-sheets/git-cheat-sheet-bn.md",
    "content": "# Git Cheat Sheet বাংলা\n\n![Git Logo](../Img/git-logo.png)\n\nসবচেয়ে বেশি ব্যবহৃত Git কমান্ডগুলির একটি দ্রুত রেফারেন্স গাইড, সহজ ব্যবহারের জন্য বিভাগ অনুযায়ী সংগঠিত।\n\n---\n\n## 📖 এই গাইড সম্পর্কে\n\nএই Git রেফারেন্স গাইডটি একটি সম্পূর্ণ রেফারেন্স যা Git এর সাথে কাজের প্রবাহ উন্নত করতে চান এমন সবার জন্য। যারা Git এর সাথে তাদের যাত্রা শুরু করছেন এমন শিক্ষানবিস থেকে শুরু করে অভিজ্ঞ ডেভেলপারদের জন্য, এই গাইডটি আপনার ডেভেলপমেন্ট যাত্রাকে ত্বরান্বিত করতে সংগঠিত এবং শ্রেণীবদ্ধ কমান্ড প্রদান করে।\n\n### মূল বৈশিষ্ট্য:\n- **সংগঠিত বিভাগ**: কমান্ডগুলি স্পষ্ট এবং যৌক্তিক গ্রুপে সাজানো\n- **ব্যবহারিক উদাহরণ**: বাস্তব বিশ্বের ব্যবহারের ক্ষেত্রে সহ\n- **শিক্ষানবিস-বান্ধব**: স্পষ্ট ব্যাখ্যা এবং টিপস সহ\n- **দ্রুত রেফারেন্স**: প্রয়োজনীয় কমান্ডগুলিতে দ্রুত অ্যাক্সেস\n\n---\n\n## 📑 সূচিপত্র\n\n- [🔧 প্রাথমিক সেটআপ](#প্রাথমিক-সেটআপ)\n- [⚙️ কনফিগারেশন ফাইল](#কনফিগারেশন-ফাইল)\n- [📁 রিপোজিটরি সেটআপ](#রিপোজিটরি-সেটআপ)\n- [📊 স্ট্যাটাস কমান্ড](#স্ট্যাটাস-কমান্ড)\n- [📝 ফাইল ম্যানেজমেন্ট](#ফাইল-ম্যানেজমেন্ট)\n- [💾 কমিট](#কমিট)\n- [🌿 ব্রাঞ্চ](#ব্রাঞ্চ)\n- [🔀 মার্জ](#মার্জ)\n- [🌐 রিমোট রিপোজিটরি](#রিমোট-রিপোজিটরি)\n- [📚 হিস্ট্রি এবং লগ](#হিস্ট্রি-এবং-লগ)\n- [🔍 অনুসন্ধান](#অনুসন্ধান)\n- [📁 সরানো/নাম পরিবর্তন](#সরানো-নাম-পরিবর্তন)\n- [🏷️ ট্যাগ](#ট্যাগ)\n- [↩️ পরিবর্তন পূর্বাবস্থায় ফেরানো](#পরিবর্তন-পূর্বাবস্থায়-ফেরানো)\n- [📦 স্ট্যাশ](#স্ট্যাশ)\n- [🌊 Git Flow](#git-flow)\n- [💡 উপযোগী টিপস](#উপযোগী-টিপস)\n- [🌍 অন্যান্য ভাষা](#অন্যান্য-ভাষা)\n- [🤝 অবদান](#অবদান)\n- [📄 লাইসেন্স](#লাইসেন্স)\n- [📖 অতিরিক্ত সম্পদ](#অতিরিক্ত-সম্পদ)\n\n---\n\n## 🔧 প্রাথমিক সেটআপ\n\nআপনার ব্যক্তিগত তথ্য দিয়ে Git কনফিগার করুন:\n\n```bash\n# ব্যবহারকারীর নাম সেট করুন\ngit config --global user.name \"আপনার নাম\"\n\n# ইমেইল সেট করুন\ngit config --global user.email \"email@example.com\"\n\n# বর্তমান কনফিগারেশন দেখুন\ngit config --list\n\n# ডিফল্ট এডিটর সেট করুন\ngit config --global core.editor \"nano\"\n\n# মার্জ টুল সেট করুন\ngit config --global merge.tool vimdiff\n```\n\n---\n\n## ⚙️ কনফিগারেশন ফাইল\n\nGit ব্যবহারকারী এবং রিপোজিটরি পছন্দ সংরক্ষণের জন্য কনফিগারেশন ফাইল ব্যবহার করে:\n\n### কনফিগারেশন স্তর:\n\n```bash\n# সিস্টেম (সব ব্যবহারকারী)\ngit config --system\n\n# ব্যবহারকারী (বর্তমান ব্যবহারকারী)\ngit config --global\n\n# রিপোজিটরি (নির্দিষ্ট প্রকল্প)\ngit config --local\n```\n\n### সাধারণ কনফিগারেশন:\n\n```bash\n# ব্যবহারকারীর পরিচয়\ngit config --global user.name \"আপনার নাম\"\ngit config --global user.email \"email@example.com\"\n\n# টেক্সট এডিটর\ngit config --global core.editor nano\n\n# মার্জ টুল\ngit config --global merge.tool vimdiff\n\n# আউটপুটে রঙ\ngit config --global color.ui auto\n\n# কনফিগারেশন দেখুন\ngit config --list\n```\n\n---\n\n## 📁 রিপোজিটরি সেটআপ\n\n### নতুন রিপোজিটরি তৈরি করুন:\n\n```bash\n# নতুন Git রিপোজিটরি তৈরি করুন\ngit init\n\n# বিদ্যমান রিপোজিটরি ক্লোন করুন\ngit clone <রিপোজিটরি-url>\n\n# নির্দিষ্ট ডিরেক্টরিতে ক্লোন করুন\ngit clone <রিপোজিটরি-url> <ডিরেক্টরি-নাম>\n```\n\n---\n\n## 📊 স্ট্যাটাস কমান্ড\n\n### আপনার রিপোজিটরির অবস্থা পরীক্ষা করুন:\n\n```bash\n# রিপোজিটরির বর্তমান অবস্থা দেখুন\ngit status\n\n# সংক্ষিপ্ত ফরম্যাটে অবস্থা দেখুন\ngit status -s\n\n# ট্র্যাক না করা ফাইল উপেক্ষা করে অবস্থা দেখুন\ngit status --ignored\n\n# পরিবর্তিত ফাইলের পার্থক্য দেখুন\ngit diff\n\n# স্টেজিং এরিয়ার পার্থক্য দেখুন\ngit diff --staged\n\n# ব্রাঞ্চের মধ্যে পার্থক্য দেখুন\ngit diff <ব্রাঞ্চ১> <ব্রাঞ্চ২>\n```\n\n---\n\n## 📝 ফাইল ম্যানেজমেন্ট\n\n### ফাইল যোগ এবং অপসারণ:\n\n```bash\n# নির্দিষ্ট ফাইল স্টেজিং এরিয়ায় যোগ করুন\ngit add <ফাইল>\n\n# সব পরিবর্তিত ফাইল যোগ করুন\ngit add .\n\n# নির্দিষ্ট ধরনের সব ফাইল যোগ করুন\ngit add *.txt\n\n# ইন্টারঅ্যাক্টিভভাবে যোগ করুন\ngit add -i\n\n# রিপোজিটরি এবং ওয়ার্কিং ডিরেক্টরি থেকে ফাইল মুছুন\ngit rm <ফাইল>\n\n# শুধু রিপোজিটরি থেকে ফাইল মুছুন (ডিরেক্টরিতে রাখুন)\ngit rm --cached <ফাইল>\n\n# ফাইল সরান/নাম পরিবর্তন করুন\ngit mv <উৎস-ফাইল> <গন্তব্য-ফাইল>\n```\n\n---\n\n## 💾 কমিট\n\n### রিপোজিটরিতে পরিবর্তন সংরক্ষণ করুন:\n\n```bash\n# বার্তা সহ কমিট করুন\ngit commit -m \"কমিট বার্তা\"\n\n# সব পরিবর্তিত ফাইল যোগ করে কমিট করুন\ngit commit -am \"কমিট বার্তা\"\n\n# শেষ কমিট সংশোধন করুন\ngit commit --amend\n\n# খালি কমিট করুন (CI/CD ট্রিগারের জন্য উপযোগী)\ngit commit --allow-empty -m \"CI ট্রিগার\"\n\n# বিস্তারিত বার্তা সহ কমিট করুন (এডিটর খুলবে)\ngit commit\n```\n\n---\n\n## 🌿 ব্রাঞ্চ\n\n### ব্রাঞ্চের সাথে কাজ করুন:\n\n```bash\n# সব ব্রাঞ্চ দেখুন\ngit branch\n\n# রিমোট ব্রাঞ্চ দেখুন\ngit branch -r\n\n# সব ব্রাঞ্চ দেখুন (লোকাল এবং রিমোট)\ngit branch -a\n\n# নতুন ব্রাঞ্চ তৈরি করুন\ngit branch <ব্রাঞ্চ-নাম>\n\n# ব্রাঞ্চ পরিবর্তন করুন\ngit checkout <ব্রাঞ্চ-নাম>\n\n# নতুন ব্রাঞ্চ তৈরি করে সুইচ করুন\ngit checkout -b <ব্রাঞ্চ-নাম>\n\n# নির্দিষ্ট কমিট থেকে ব্রাঞ্চ তৈরি করুন\ngit checkout -b <ব্রাঞ্চ-নাম> <কমিট-হ্যাশ>\n\n# ব্রাঞ্চ মুছুন\ngit branch -d <ব্রাঞ্চ-নাম>\n\n# জোর করে ব্রাঞ্চ মুছুন\ngit branch -D <ব্রাঞ্চ-নাম>\n\n# বর্তমান ব্রাঞ্চের নাম পরিবর্তন করুন\ngit branch -m <নতুন-নাম>\n\n# নির্দিষ্ট ব্রাঞ্চের নাম পরিবর্তন করুন\ngit branch -m <পুরানো-নাম> <নতুন-নাম>\n```\n\n---\n\n## 🔀 মার্জ\n\n### ব্রাঞ্চের মধ্যে পরিবর্তন মার্জ করুন:\n\n```bash\n# বর্তমান ব্রাঞ্চে অন্য ব্রাঞ্চ মার্জ করুন\ngit merge <ব্রাঞ্চ-নাম>\n\n# ফাস্ট-ফরওয়ার্ড ছাড়া মার্জ করুন (মার্জ কমিট তৈরি করুন)\ngit merge --no-ff <ব্রাঞ্চ-নাম>\n\n# শুধু ফাস্ট-ফরওয়ার্ড হলে মার্জ করুন\ngit merge --ff-only <ব্রাঞ্চ-নাম>\n\n# চলমান মার্জ বাতিল করুন\ngit merge --abort\n\n# কনফ্লিক্ট সমাধানের পর মার্জ চালিয়ে যান\ngit merge --continue\n```\n\n---\n\n## 🌐 রিমোট রিপোজিটরি\n\n### রিমোট রিপোজিটরি পরিচালনা:\n\n```bash\n# রিমোট রিপোজিটরি দেখুন\ngit remote\n\n# URL সহ রিমোট রিপোজিটরি দেখুন\ngit remote -v\n\n# রিমোট রিপোজিটরি যোগ করুন\ngit remote add <নাম> <url>\n\n# রিমোট রিপোজিটরির URL পরিবর্তন করুন\ngit remote set-url <নাম> <নতুন-url>\n\n# রিমোট রিপোজিটরি মুছুন\ngit remote remove <নাম>\n\n# রিমোট রিপোজিটরিতে পরিবর্তন পুশ করুন\ngit push <রিমোট> <ব্রাঞ্চ>\n\n# ব্রাঞ্চ পুশ করে ট্র্যাকিং সেট করুন\ngit push -u <রিমোট> <ব্রাঞ্চ>\n\n# সব ব্রাঞ্চ পুশ করুন\ngit push --all\n\n# ট্যাগ পুশ করুন\ngit push --tags\n\n# রিমোট রিপোজিটরি থেকে পরিবর্তন ডাউনলোড করুন\ngit pull <রিমোট> <ব্রাঞ্চ>\n\n# মার্জ ছাড়া পরিবর্তন ডাউনলোড করুন\ngit fetch <রিমোট>\n\n# সব রিমোট ব্রাঞ্চ ডাউনলোড করুন\ngit fetch --all\n```\n\n---\n\n## 📚 হিস্ট্রি এবং লগ\n\n### কমিট ইতিহাস অন্বেষণ করুন:\n\n```bash\n# কমিট ইতিহাস দেখুন\ngit log\n\n# প্রতি কমিটের জন্য এক লাইনে ইতিহাস দেখুন\ngit log --oneline\n\n# গ্রাফ সহ ইতিহাস দেখুন\ngit log --graph\n\n# নির্দিষ্ট ফাইলের ইতিহাস দেখুন\ngit log <ফাইল>\n\n# কমিট পরিসংখ্যান দেখুন\ngit log --stat\n\n# প্রতি কমিটের পরিবর্তন দেখুন\ngit log -p\n\n# শেষ N কমিট দেখুন\ngit log -n <সংখ্যা>\n\n# তারিখের মধ্যে কমিট দেখুন\ngit log --since=\"2023-01-01\" --until=\"2023-12-31\"\n\n# লেখক অনুযায়ী কমিট দেখুন\ngit log --author=\"লেখকের নাম\"\n\n# কমিট বার্তায় অনুসন্ধান করুন\ngit log --grep=\"কীওয়ার্ড\"\n```\n\n---\n\n## 🔍 অনুসন্ধান\n\n### ইতিহাস এবং বিষয়বস্তুতে অনুসন্ধান:\n\n```bash\n# কমিট বার্তায় অনুসন্ধান করুন\ngit log --grep=\"কীওয়ার্ড\"\n\n# কোডের পরিবর্তনে অনুসন্ধান করুন\ngit log -S \"কোডের অংশ\"\n\n# কাজের ফাইলে অনুসন্ধান করুন\ngit grep \"প্যাটার্ন\"\n\n# নির্দিষ্ট কমিটে অনুসন্ধান করুন\ngit grep \"প্যাটার্ন\" <কমিট-হ্যাশ>\n\n# বড়/ছোট হাতের অক্ষর উপেক্ষা করে অনুসন্ধান\ngit grep -i \"প্যাটার্ন\"\n\n# পূর্ণ শব্দ অনুসন্ধান\ngit grep -w \"শব্দ\"\n\n# লাইন নম্বর দেখান\ngit grep -n \"প্যাটার্ন\"\n```\n\n---\n\n## 📁 সরানো/নাম পরিবর্তন\n\n### ফাইল সরানো এবং নাম পরিবর্তন:\n\n```bash\n# ফাইলের নাম পরিবর্তন করুন\ngit mv পুরানো_নাম.txt নতুন_নাম.txt\n\n# ফাইল ফোল্ডারে সরান\ngit mv ফাইল.txt ফোল্ডার/\n\n# ফোল্ডারের নাম পরিবর্তন করুন\ngit mv পুরানো_ফোল্ডার নতুন_ফোল্ডার\n\n# git mv ছাড়া নাম পরিবর্তনের প্রক্রিয়া\nmv পুরানো_নাম.txt নতুন_নাম.txt\ngit add নতুন_নাম.txt\ngit rm পুরানো_নাম.txt\n\n# লগে নাম পরিবর্তন খুঁজুন\ngit log --follow ফাইল.txt\n\n# সরানো ট্র্যাক করুন\ngit log --stat -M\n```\n\n---\n\n## 🏷️ ট্যাগ\n\n### ভার্সন ট্যাগ পরিচালনা:\n\n```bash\n# সব ট্যাগ দেখুন\ngit tag\n\n# হালকা ট্যাগ তৈরি করুন\ngit tag <ট্যাগ-নাম>\n\n# টীকাযুক্ত ট্যাগ তৈরি করুন\ngit tag -a <ট্যাগ-নাম> -m \"ট্যাগ বার্তা\"\n\n# নির্দিষ্ট কমিটে ট্যাগ তৈরি করুন\ngit tag -a <ট্যাগ-নাম> <কমিট-হ্যাশ>\n\n# ট্যাগের তথ্য দেখুন\ngit show <ট্যাগ-নাম>\n\n# লোকাল ট্যাগ মুছুন\ngit tag -d <ট্যাগ-নাম>\n\n# রিমোট ট্যাগ মুছুন\ngit push --delete <রিমোট> <ট্যাগ-নাম>\n\n# নির্দিষ্ট ট্যাগ পুশ করুন\ngit push <রিমোট> <ট্যাগ-নাম>\n\n# সব ট্যাগ পুশ করুন\ngit push <রিমোট> --tags\n```\n\n---\n\n## ↩️ পরিবর্তন পূর্বাবস্থায় ফেরানো\n\n### পরিবর্তন ফিরিয়ে আনুন:\n\n```bash\n# নির্দিষ্ট ফাইলের পরিবর্তন বাতিল করুন\ngit checkout <ফাইল>\n\n# সব অকমিট পরিবর্তন বাতিল করুন\ngit checkout .\n\n# নির্দিষ্ট ভার্সনে ফাইল ফিরিয়ে আনুন\ngit checkout <কমিট-হ্যাশ> <ফাইল>\n\n# স্টেজিং এরিয়া থেকে ফাইল সরান\ngit reset <ফাইল>\n\n# স্টেজিং এরিয়া থেকে সব ফাইল সরান\ngit reset\n\n# পূর্ববর্তী কমিটে ফিরে যান (পরিবর্তন রাখুন)\ngit reset --soft HEAD~1\n\n# পূর্ববর্তী কমিটে ফিরে যান (পরিবর্তন বাতিল করুন)\ngit reset --hard HEAD~1\n\n# নির্দিষ্ট কমিটে ফিরে যান\ngit reset --hard <কমিট-হ্যাশ>\n\n# অন্য কমিট বাতিল করে নতুন কমিট তৈরি করুন\ngit revert <কমিট-হ্যাশ>\n\n# একাধিক কমিট বাতিল করুন\ngit revert <হ্যাশ-থেকে>..<হ্যাশ-পর্যন্ত>\n```\n\n---\n\n## 📦 স্ট্যাশ\n\n### অস্থায়ীভাবে কাজ সংরক্ষণ করুন:\n\n```bash\n# বর্তমান পরিবর্তন স্ট্যাশে সংরক্ষণ করুন\ngit stash\n\n# বর্ণনামূলক বার্তা সহ সংরক্ষণ করুন\ngit stash save \"বর্ণনামূলক বার্তা\"\n\n# সব স্ট্যাশ দেখুন\ngit stash list\n\n# শেষ স্ট্যাশ প্রয়োগ করুন\ngit stash apply\n\n# নির্দিষ্ট স্ট্যাশ প্রয়োগ করুন\ngit stash apply stash@{0}\n\n# শেষ স্ট্যাশ প্রয়োগ করে মুছে ফেলুন\ngit stash pop\n\n# নির্দিষ্ট স্ট্যাশ মুছুন\ngit stash drop stash@{0}\n\n# সব স্ট্যাশ মুছুন\ngit stash clear\n\n# স্ট্যাশের পরিবর্তন দেখুন\ngit stash show stash@{0}\n\n# স্ট্যাশ থেকে ব্রাঞ্চ তৈরি করুন\ngit stash branch <ব্রাঞ্চ-নাম> stash@{0}\n```\n\n---\n\n## 🌊 Git Flow\n\nGit Flow একটি ব্রাঞ্চিং মডেল যা প্রজেক্ট রিলিজের চারপাশে ডিজাইন করা কঠোর ওয়ার্কফ্লো সংজ্ঞায়িত করে।\n\n### মূল ব্রাঞ্চ:\n- **master/main**: প্রোডাকশন কোড\n- **develop**: মূল ডেভেলপমেন্ট ব্রাঞ্চ\n\n### সাপোর্ট ব্রাঞ্চ:\n- **feature**: নতুন ফিচারের জন্য\n- **release**: নতুন ভার্সন প্রস্তুতির জন্য\n- **hotfix**: প্রোডাকশনে জরুরি সংশোধনের জন্য\n\n### Git Flow কমান্ড:\n\n```bash\n# git flow শুরু করুন\ngit flow init\n\n# নতুন ফিচার শুরু করুন\ngit flow feature start <ফিচার-নাম>\n\n# ফিচার শেষ করুন\ngit flow feature finish <ফিচার-নাম>\n\n# ফিচার প্রকাশ করুন\ngit flow feature publish <ফিচার-নাম>\n\n# রিলিজ শুরু করুন\ngit flow release start <ভার্সন>\n\n# রিলিজ শেষ করুন\ngit flow release finish <ভার্সন>\n\n# হটফিক্স শুরু করুন\ngit flow hotfix start <ভার্সন>\n\n# হটফিক্স শেষ করুন\ngit flow hotfix finish <ভার্সন>\n```\n\n### Git Flow ছাড়া ওয়ার্কফ্লো:\n\n![Git Flow Commands](../Img/git-flow-commands-without-flow.png)\n\n```bash\n# ফিচার ব্রাঞ্চ তৈরি করুন\ngit checkout develop\ngit checkout -b feature/নতুন-ফিচার\n\n# ফিচারে কাজ করুন\ngit add .\ngit commit -m \"নতুন ফিচার যোগ করুন\"\n\n# develop এ ফিচার মার্জ করুন\ngit checkout develop\ngit merge --no-ff feature/নতুন-ফিচার\ngit branch -d feature/নতুন-ফিচার\n\n# রিলিজ ব্রাঞ্চ তৈরি করুন\ngit checkout develop\ngit checkout -b release/1.0.0\n\n# রিলিজ সম্পন্ন করুন\ngit checkout master\ngit merge --no-ff release/1.0.0\ngit tag -a 1.0.0 -m \"ভার্সন 1.0.0\"\ngit checkout develop\ngit merge --no-ff release/1.0.0\ngit branch -d release/1.0.0\n```\n\n---\n\n## 💡 উপযোগী টিপস\n\n### উপযোগী অ্যালিয়াস:\n\n```bash\n# উপযোগী অ্যালিয়াস সেট করুন\ngit config --global alias.st status\ngit config --global alias.co checkout\ngit config --global alias.br branch\ngit config --global alias.ci commit\ngit config --global alias.unstage 'reset HEAD --'\ngit config --global alias.last 'log -1 HEAD'\ngit config --global alias.visual '!gitk'\n```\n\n### .gitignore ফাইল:\n\n```bash\n# .gitignore ফাইল তৈরি করুন\necho \"node_modules/\" >> .gitignore\necho \"*.log\" >> .gitignore\necho \".env\" >> .gitignore\n\n# ইতিমধ্যে ট্র্যাক করা ফাইল উপেক্ষা করুন\ngit rm --cached <ফাইল>\necho \"<ফাইল>\" >> .gitignore\ngit add .gitignore\ngit commit -m \".gitignore এ ফাইল যোগ করুন\"\n```\n\n---\n\n## 🌍 অন্যান্য ভাষা\n\nএই Git চিট শিট নিম্নলিখিত ভাষায় উপলব্ধ:\n\n- 🇺🇸 [English](../README.md)\n- 🇸🇦 [العربية](git-cheat-sheet-ar.md)\n- 🇧🇩 **বাংলা** (বর্তমান)\n- 🇩🇪 [Deutsch](git-cheat-sheet-de.md)\n- 🇬🇷 [Ελληνικά](git-cheat-sheet-el.md)\n- 🇪🇸 [Español](git-cheat-sheet-es.md)\n- 🇮🇳 [हिन्दी](git-cheat-sheet-hi.md)\n- 🇰🇷 [한국어](git-cheat-sheet-ko.md)\n- 🇵🇱 [Polski](git-cheat-sheet-pl.md)\n- 🇧🇷 [Português](git-cheat-sheet-pt_BR.md)\n- 🇹🇷 [Türkçe](git-cheat-sheet-tr.md)\n- 🇨🇳 [中文](git-cheat-sheet-zh.md)\n\n---\n\n## 🤝 অবদান\n\nআমরা অবদানকে স্বাগত জানাই! এই প্রকল্পটি উন্নত করতে সাহায্য করুন:\n\n1. **সমস্যা রিপোর্ট করুন**: ত্রুটি বা উন্নতির পরামর্শ শেয়ার করুন\n2. **নতুন ভাষা যোগ করুন**: অনুবাদ তৈরি করুন বা বিদ্যমান উন্নত করুন\n3. **বিষয়বস্তু উন্নত করুন**: নতুন কমান্ড, উদাহরণ বা ব্যাখ্যা যোগ করুন\n4. **প্রতিক্রিয়া দিন**: আপনার অভিজ্ঞতা এবং পরামর্শ শেয়ার করুন\n\n### কিভাবে অবদান রাখবেন:\n- [GitHub এ ইস্যু খুলুন](https://github.com/arslanbilal/git-cheat-sheet/issues)\n- Pull request জমা দিন\n- ডকুমেন্টেশন উন্নতির পরামর্শ দিন\n\n---\n\n## 📄 লাইসেন্স\n\nএই প্রকল্পটি MIT লাইসেন্সের অধীনে লাইসেন্সপ্রাপ্ত। বিস্তারিত জানতে [LICENSE](../LICENSE) ফাইল দেখুন।\n\n---\n\n## 📖 অতিরিক্ত সম্পদ\n\n- [Git অফিসিয়াল ডকুমেন্টেশন](https://git-scm.com/doc)\n- [Atlassian Git টিউটোরিয়াল](https://www.atlassian.com/git/tutorials)\n- [GitHub Git চিট শিট](https://education.github.com/git-cheat-sheet-education.pdf)\n- [ইন্টারঅ্যাক্টিভ Git টিউটোরিয়াল](https://learngitbranching.js.org/)\n\n---\n\n<div align=\"center\">\n  <strong>⭐ এই চিট শিট যদি উপকারী হয় তাহলে এটিকে স্টার দিন!</strong><br>\n  <em>Git এর সাথে হ্যাপি কোডিং! 🚀</em>\n</div>\n"
  },
  {
    "path": "other-sheets/git-cheat-sheet-de.md",
    "content": "# Git Cheat Sheet Deutsch\n\n![Git Logo](../Img/git-logo.png)\n\nDieses umfassende Git-Cheat-Sheet hilft Ihnen dabei, Git-Befehle zu beherrschen, ohne alles auswendig zu lernen. Egal, ob Sie Anfänger oder erfahrener Entwickler sind, dieser Leitfaden bietet eine schnelle Referenz für wichtige Git-Operationen.\n\n---\n\n## 📖 Über\n\nDieses umfassende Git-Cheat-Sheet hilft Ihnen dabei, Git-Befehle zu beherrschen, ohne alles auswendig zu lernen. Egal, ob Sie Anfänger oder erfahrener Entwickler sind, dieser Leitfaden bietet eine schnelle Referenz für wichtige Git-Operationen.\n\n**Beiträge willkommen!** Fühlen Sie sich frei:\n- Grammatikfehler zu korrigieren\n- Neue Befehle hinzuzufügen\n- In Ihre Sprache zu übersetzen\n- Erklärungen zu verbessern\n\n---\n\n## 📋 Inhaltsverzeichnis\n\n- [📖 Über](#-Über)\n- [🔧 Setup](#-setup)\n- [⚙️ Konfigurationsdateien](#️-konfigurationsdateien)\n- [🆕 Repository erstellen](#-repository-erstellen)\n- [📝 Lokale Änderungen](#-lokale-änderungen)\n- [🔍 Suchen](#-suchen)\n- [📖 Commit-Historie](#-commit-historie)\n- [📁 Verschieben / Umbenennen](#-verschieben--umbenennen)\n- [🌿 Branches & Tags](#-branches--tags)\n- [🔄 Aktualisieren & Veröffentlichen](#-aktualisieren--veröffentlichen)\n- [🔀 Merge & Rebase](#-merge--rebase)\n- [↩️ Rückgängig machen](#️-rückgängig-machen)\n- [📦 Zwischenspeichern (Stash)](#-zwischenspeichern-stash)\n- [🌊 Git Flow](#-git-flow)\n- [💡 Nützliche Tipps](#-nützliche-tipps)\n- [🌍 Andere Sprachen](#-andere-sprachen)\n- [🤝 Beitragen](#-beitragen)\n- [📄 Lizenz](#-lizenz)\n- [📖 Zusätzliche Ressourcen](#-zusätzliche-ressourcen)\n\n---\n\n## 🔧 Setup\n\n### Konfiguration anzeigen\n\n**Aktuelle Konfiguration anzeigen:**\n```bash\ngit config --list\n```\n\n**Repository-Konfiguration anzeigen:**\n```bash\ngit config --local --list\n```\n\n**Globale Konfiguration anzeigen:**\n```bash\ngit config --global --list\n```\n\n**System-Konfiguration anzeigen:**\n```bash\ngit config --system --list\n```\n\n### Benutzer-Konfiguration\n\n**Namen für Versionsverlauf festlegen:**\n```bash\ngit config --global user.name \"[Vorname Nachname]\"\n```\n\n**E-Mail-Adresse festlegen:**\n```bash\ngit config --global user.email \"[gültige-email]\"\n```\n\n### Anzeige- & Editor-Einstellungen\n\n**Automatische Befehlszeilen-Farbgebung aktivieren:**\n```bash\ngit config --global color.ui auto\n```\n\n**Globalen Editor für Commits festlegen:**\n```bash\ngit config --global core.editor vi\n```\n\n---\n\n## ⚙️ Konfigurationsdateien\n\n| Bereich | Ort | Befehlsflag |\n|---------|-----|-------------|\n| **Repository** | `<repo>/.git/config` | `--local` |\n| **Benutzer** | `~/.gitconfig` | `--global` |\n| **System** | `/etc/gitconfig` | `--system` |\n\n---\n\n## 🆕 Repository erstellen\n\n### Existierendes Repository klonen\n\n**Über SSH:**\n```bash\ngit clone ssh://benutzer@domain.com/repo.git\n```\n\n**Über HTTPS:**\n```bash\ngit clone https://domain.com/benutzer/repo.git\n```\n\n### Neues Repository initialisieren\n\n**Repository im aktuellen Verzeichnis erstellen:**\n```bash\ngit init\n```\n\n**Repository in spezifischem Verzeichnis erstellen:**\n```bash\ngit init <verzeichnis>\n```\n\n---\n\n## 📝 Lokale Änderungen\n\n### Status & Unterschiede prüfen\n\n**Arbeitsverzeichnis-Status anzeigen:**\n```bash\ngit status\n```\n\n**Änderungen in verfolgten Dateien anzeigen:**\n```bash\ngit diff\n```\n\n**Änderungen in spezifischer Datei anzeigen:**\n```bash\ngit diff <datei>\n```\n\n### Änderungen bereitstellen\n\n**Alle aktuellen Änderungen hinzufügen:**\n```bash\ngit add .\n```\n\n**Spezifische Dateien hinzufügen:**\n```bash\ngit add <datei1> <datei2>\n```\n\n**Interaktiv Teile einer Datei hinzufügen:**\n```bash\ngit add -p <datei>\n```\n\n### Änderungen committen\n\n**Alle verfolgten Dateiänderungen committen:**\n```bash\ngit commit -a\n```\n\n**Bereitgestellte Änderungen committen:**\n```bash\ngit commit\n```\n\n**Mit Nachricht committen:**\n```bash\ngit commit -m 'Nachricht hier'\n```\n\n**Bereitstellung überspringen und mit Nachricht committen:**\n```bash\ngit commit -am 'Nachricht hier'\n```\n\n**Mit spezifischem Datum committen:**\n```bash\ngit commit --date=\"`date --date='n day ago'`\" -am \"<Commit-Nachricht hier>\"\n```\n\n### Letzten Commit ändern\n\n> ⚠️ **Warnung:** Veröffentlichte Commits nicht ändern!\n\n**Letzten Commit ergänzen:**\n```bash\ngit commit -a --amend\n```\n\n**Ergänzen ohne Commit-Nachricht zu ändern:**\n```bash\ngit commit --amend --no-edit\n```\n\n**Committer-Datum ändern:**\n```bash\nGIT_COMMITTER_DATE=\"datum\" git commit --amend\n```\n\n**Autor-Datum ändern:**\n```bash\ngit commit --amend --date=\"datum\"\n```\n\n### Änderungen zwischenspeichern\n\n**Aktuelle Änderungen temporär speichern:**\n```bash\ngit stash\n```\n\n**Letzte gespeicherte Änderungen anwenden:**\n```bash\ngit stash apply\n```\n\n**Spezifischen Stash anwenden:**\n```bash\ngit stash apply stash@{stash_nummer}\n```\n> Verwenden Sie `git stash list`, um verfügbare Stashes zu sehen\n\n**Letzten Stash entfernen:**\n```bash\ngit stash drop\n```\n\n**Nicht committete Änderungen zu anderem Branch verschieben:**\n```bash\ngit stash\ngit checkout branch2\ngit stash pop\n```\n\n---\n\n## 🔍 Suchen\n\n### Text-Suche\n\n**Text in allen Dateien suchen:**\n```bash\ngit grep \"Hallo\"\n```\n\n**In spezifischer Version suchen:**\n```bash\ngit grep \"Hallo\" v2.5\n```\n\n### Commit-Suche\n\n**Commits finden, die spezifisches Schlüsselwort eingeführt haben:**\n```bash\ngit log -S 'schlüsselwort'\n```\n\n**Mit regulärem Ausdruck suchen:**\n```bash\ngit log -S 'schlüsselwort' --pickaxe-regex\n```\n\n---\n\n## 📖 Commit-Historie\n\n### Basis-Historie\n\n**Alle Commits anzeigen (detailliert):**\n```bash\ngit log\n```\n\n**Commits anzeigen (eine Zeile je Commit):**\n```bash\ngit log --oneline\n```\n\n**Commits von spezifischem Autor anzeigen:**\n```bash\ngit log --author=\"benutzername\"\n```\n\n**Änderungen für spezifische Datei anzeigen:**\n```bash\ngit log -p <datei>\n```\n\n### Erweiterte Historie\n\n**Branches vergleichen:**\n```bash\ngit log --oneline <origin/master>..<remote/master> --left-right\n```\n\n**Anzeigen, wer was wann geändert hat:**\n```bash\ngit blame <datei>\n```\n\n### Referenz-Logs\n\n**Referenz-Log anzeigen:**\n```bash\ngit reflog show\n```\n\n**Referenz-Log löschen:**\n```bash\ngit reflog delete\n```\n\n---\n\n## 📁 Verschieben / Umbenennen\n\n**Datei umbenennen:**\n```bash\ngit mv Index.txt Index.html\n```\n\n---\n\n## 🌿 Branches & Tags\n\n### Branches auflisten\n\n**Lokale Branches auflisten:**\n```bash\ngit branch\n```\n\n**Alle Branches auflisten (lokal + remote):**\n```bash\ngit branch -a\n```\n\n**Remote Branches auflisten:**\n```bash\ngit branch -r\n```\n\n**Zusammengeführte Branches auflisten:**\n```bash\ngit branch --merged\n```\n\n### Branches wechseln & erstellen\n\n**Zu existierendem Branch wechseln:**\n```bash\ngit checkout <branch>\n```\n\n**Neuen Branch erstellen und dorthin wechseln:**\n```bash\ngit checkout -b <branch>\n```\n\n**Zum vorherigen Branch wechseln:**\n```bash\ngit checkout -\n```\n\n**Branch von existierendem Branch erstellen:**\n```bash\ngit checkout -b <neuer_branch> <existierender_branch>\n```\n\n**Branch von spezifischem Commit erstellen:**\n```bash\ngit checkout <commit-hash> -b <neuer_branch_name>\n```\n\n**Branch ohne Wechsel erstellen:**\n```bash\ngit branch <neuer-branch>\n```\n\n**Tracking-Branch erstellen:**\n```bash\ngit branch --track <neuer-branch> <remote-branch>\n```\n\n### Branch-Operationen\n\n**Einzelne Datei von anderem Branch abrufen:**\n```bash\ngit checkout <branch> -- <dateiname>\n```\n\n**Spezifischen Commit von anderem Branch anwenden:**\n```bash\ngit cherry-pick <commit hash>\n```\n\n**Aktuellen Branch umbenennen:**\n```bash\ngit branch -m <neuer_branch_name>\n```\n\n**Lokalen Branch löschen:**\n```bash\ngit branch -d <branch>\n```\n\n**Lokalen Branch erzwungen löschen:**\n```bash\ngit branch -D <branch>\n```\n> ⚠️ **Warnung:** Sie verlieren nicht zusammengeführte Änderungen!\n\n### Tags\n\n**Tag am HEAD erstellen:**\n```bash\ngit tag <tag-name>\n```\n\n**Annotierten Tag erstellen:**\n```bash\ngit tag -a <tag-name>\n```\n\n**Tag mit Nachricht erstellen:**\n```bash\ngit tag <tag-name> -am 'Nachricht hier'\n```\n\n**Alle Tags auflisten:**\n```bash\ngit tag\n```\n\n**Tags mit Nachrichten auflisten:**\n```bash\ngit tag -n\n```\n\n---\n\n## 🔄 Aktualisieren & Veröffentlichen\n\n### Remote-Verwaltung\n\n**Konfigurierte Remotes auflisten:**\n```bash\ngit remote -v\n```\n\n**Remote-Informationen anzeigen:**\n```bash\ngit remote show <remote>\n```\n\n**Neuen Remote hinzufügen:**\n```bash\ngit remote add <remote> <url>\n```\n\n**Remote umbenennen:**\n```bash\ngit remote rename <remote> <neuer_remote>\n```\n\n**Remote entfernen:**\n```bash\ngit remote rm <remote>\n```\n> ℹ️ **Hinweis:** Dies entfernt nur die Remote-Referenz lokal, nicht das Remote-Repository selbst.\n\n### Fetch & Pull\n\n**Änderungen ohne Merge herunterladen:**\n```bash\ngit fetch <remote>\n```\n\n**Änderungen herunterladen und mergen:**\n```bash\ngit pull <remote> <branch>\n```\n\n**Änderungen vom Haupt-Branch abrufen:**\n```bash\ngit pull origin master\n```\n\n**Mit Rebase pullen:**\n```bash\ngit pull --rebase <remote> <branch>\n```\n\n### Push & Veröffentlichen\n\n**Lokale Änderungen veröffentlichen:**\n```bash\ngit push <remote> <branch>\n```\n\n**Remote Branch löschen:**\n```bash\n# Git v1.7.0+\ngit push <remote> --delete <branch>\n\n# Git v1.5.0+\ngit push <remote> :<branch>\n```\n\n**Tags veröffentlichen:**\n```bash\ngit push --tags\n```\n\n---\n\n## 🔀 Merge & Rebase\n\n### Merge-Operationen\n\n**Branch in aktuellen HEAD mergen:**\n```bash\ngit merge <branch>\n```\n\n**Merge-Tool global konfigurieren:**\n```bash\ngit config --global merge.tool meld\n```\n\n**Konfiguriertes Merge-Tool verwenden:**\n```bash\ngit mergetool\n```\n\n### Rebase-Operationen\n\n> ⚠️ **Warnung:** Veröffentlichte Commits nicht rebasen!\n\n**Aktuellen HEAD auf Branch rebasen:**\n```bash\ngit rebase <branch>\n```\n\n**Rebase abbrechen:**\n```bash\ngit rebase --abort\n```\n\n**Rebase nach Konfliktlösung fortsetzen:**\n```bash\ngit rebase --continue\n```\n\n### Konfliktlösung\n\n**Datei als gelöst markieren:**\n```bash\ngit add <gelöste-datei>\n```\n\n**Gelöste Datei entfernen:**\n```bash\ngit rm <gelöste-datei>\n```\n\n### Commits zusammenfassen\n\n**Interaktives Rebase zum Zusammenfassen:**\n```bash\ngit rebase -i <commit-direkt-vor-dem-ersten>\n```\n\n**Beispiel-Konfiguration zum Zusammenfassen:**\n```\n# Vorher\npick <commit_id>\npick <commit_id2>\npick <commit_id3>\n\n# Nachher (commit_id2 und commit_id3 in commit_id zusammenfassen)\npick <commit_id>\nsquash <commit_id2>\nsquash <commit_id3>\n```\n\n---\n\n## ↩️ Rückgängig machen\n\n### Änderungen verwerfen\n\n**Alle lokalen Änderungen verwerfen:**\n```bash\ngit reset --hard HEAD\n```\n\n**Alle Dateien aus der Staging-Area entfernen:**\n```bash\ngit reset HEAD\n```\n\n**Änderungen in spezifischer Datei verwerfen:**\n```bash\ngit checkout HEAD <datei>\n```\n\n### Reset-Operationen\n\n**Zu vorherigem Commit zurücksetzen (alle Änderungen verwerfen):**\n```bash\ngit reset --hard <commit>\n```\n\n**Zu Remote Branch-Zustand zurücksetzen:**\n```bash\ngit reset --hard <remote/branch>\n# Beispiel: git reset --hard upstream/master\n```\n\n**Reset mit Änderungen als unstaged beibehalten:**\n```bash\ngit reset <commit>\n```\n\n**Reset mit lokalen uncommitted Änderungen beibehalten:**\n```bash\ngit reset --keep <commit>\n```\n\n### Commits rückgängig machen\n\n**Commit rückgängig machen (neuen Commit mit gegenteiligen Änderungen erstellen):**\n```bash\ngit revert <commit>\n```\n\n### Ignorierte Dateien bereinigen\n\n**Versehentlich committete Dateien entfernen, die ignoriert werden sollten:**\n```bash\ngit rm -r --cached .\ngit add .\ngit commit -m \"ignorierte Dateien entfernen\"\n```\n\n---\n\n## 📦 Zwischenspeichern (Stash)\n\n### Änderungen temporär speichern\n\n**Aktuelle Änderungen zwischenspeichern:**\n```bash\ngit stash\n```\n\n**Mit beschreibender Nachricht zwischenspeichern:**\n```bash\ngit stash save \"Beschreibende Nachricht\"\n```\n\n**Alle Stashes anzeigen:**\n```bash\ngit stash list\n```\n\n**Letzten Stash anwenden:**\n```bash\ngit stash apply\n```\n\n**Spezifischen Stash anwenden:**\n```bash\ngit stash apply stash@{0}\n```\n\n**Letzten Stash anwenden und entfernen:**\n```bash\ngit stash pop\n```\n\n**Spezifischen Stash entfernen:**\n```bash\ngit stash drop stash@{0}\n```\n\n**Alle Stashes entfernen:**\n```bash\ngit stash clear\n```\n\n**Änderungen in einem Stash anzeigen:**\n```bash\ngit stash show stash@{0}\n```\n\n**Branch aus Stash erstellen:**\n```bash\ngit stash branch <branch-name> stash@{0}\n```\n\n---\n\n## 🌊 Git Flow\n\n**Verbesserter Git-flow:** [git-flow-avh](https://github.com/petervanderdoes/gitflow-avh)\n\n### 📋 Inhaltsverzeichnis\n- [🔧 Setup](#setup-1)\n- [🚀 Erste Schritte](#erste-schritte)\n- [✨ Features](#features)\n- [🎁 Release erstellen](#release-erstellen)\n- [🔥 Hotfixes](#hotfixes)\n- [📊 Befehls-Übersicht](#befehls-übersicht)\n\n---\n\n### 🔧 Setup {#setup-1}\n\n> **Voraussetzung:** Funktionierende Git-Installation erforderlich. Git-flow funktioniert auf macOS, Linux und Windows.\n\n**macOS (Homebrew):**\n```bash\nbrew install git-flow-avh\n```\n\n**macOS (MacPorts):**\n```bash\nport install git-flow\n```\n\n**Linux (Debian-basiert):**\n```bash\nsudo apt-get install git-flow\n```\n\n**Windows (Cygwin):**\n> Benötigt wget und util-linux\n```bash\nwget -q -O - --no-check-certificate https://raw.githubusercontent.com/petervanderdoes/gitflow/develop/contrib/gitflow-installer.sh install <state> | bash\n```\n\n---\n\n### 🚀 Erste Schritte\n\nGit-flow benötigt Initialisierung, um Ihre Projekt-Konfiguration anzupassen.\n\n**Initialisieren (interaktiv):**\n```bash\ngit flow init\n```\n> Sie beantworten Fragen zu Branch-Namenskonventionen. Standardwerte werden empfohlen.\n\n**Initialisieren (Standardwerte verwenden):**\n```bash\ngit flow init -d\n```\n\n---\n\n### ✨ Features\n\nFeatures sind für die Entwicklung neuer Funktionalität für kommende Releases. Sie existieren typischerweise nur in Entwickler-Repositories.\n\n**Neues Feature starten:**\n```bash\ngit flow feature start MEINFEATURE\n```\n> Erstellt Feature-Branch basierend auf 'develop' und wechselt dorthin\n\n**Feature beenden:**\n```bash\ngit flow feature finish MEINFEATURE\n```\n> Dies wird:\n> 1. MEINFEATURE in 'develop' mergen\n> 2. Den Feature-Branch entfernen\n> 3. Zurück zu 'develop' wechseln\n\n**Feature veröffentlichen (für Zusammenarbeit):**\n```bash\ngit flow feature publish MEINFEATURE\n```\n\n**Veröffentlichtes Feature abrufen:**\n```bash\ngit flow feature pull origin MEINFEATURE\n```\n\n**Origin Feature verfolgen:**\n```bash\ngit flow feature track MEINFEATURE\n```\n\n---\n\n### 🎁 Release erstellen\n\nReleases unterstützen die Vorbereitung neuer Produktions-Releases, erlauben kleinere Bugfixes und bereiten Meta-Daten vor.\n\n**Release starten:**\n```bash\ngit flow release start RELEASE [BASE]\n```\n> Erstellt Release-Branch von 'develop'. Optional [BASE] Commit SHA-1 angeben.\n\n**Release veröffentlichen:**\n```bash\ngit flow release publish RELEASE\n```\n\n**Remote Release verfolgen:**\n```bash\ngit flow release track RELEASE\n```\n\n**Release beenden:**\n```bash\ngit flow release finish RELEASE\n```\n> Dies wird:\n> 1. Release-Branch in 'master' mergen\n> 2. Das Release taggen\n> 3. Release zurück in 'develop' mergen\n> 4. Release-Branch entfernen\n\n> 💡 **Nicht vergessen:** Tags mit `git push --tags` pushen\n\n---\n\n### 🔥 Hotfixes\n\nHotfixes addressieren kritische Probleme in Live-Produktionsversionen. Sie zweigen vom entsprechenden Tag auf master ab.\n\n**Hotfix starten:**\n```bash\ngit flow hotfix start VERSION [BASENAME]\n```\n\n**Hotfix beenden:**\n```bash\ngit flow hotfix finish VERSION\n```\n> Mergt zurück in 'develop' und 'master', und taggt den Master-Merge\n\n---\n\n### 📊 Befehls-Übersicht\n\n<p align=\"center\">\n    <img alt=\"Git Flow Befehle\" src=\"../Img/git-flow-commands.png\" height=\"270\" width=\"460\">\n</p>\n\n### 🌊 Git Flow Schema\n\n<p align=\"center\">\n    <img alt=\"Git Flow Schema\" src=\"../Img/git-flow-commands-without-flow.png\">\n</p>\n\n---\n\n## 💡 Nützliche Tipps\n\n### Nützliche Aliases\n\n**Nützliche Aliases konfigurieren:**\n```bash\ngit config --global alias.st status\ngit config --global alias.co checkout\ngit config --global alias.br branch\ngit config --global alias.ci commit\ngit config --global alias.unstage 'reset HEAD --'\ngit config --global alias.last 'log -1 HEAD'\ngit config --global alias.visual '!gitk'\n```\n\n### .gitignore Dateien\n\n**.gitignore Datei erstellen:**\n```bash\necho \"node_modules/\" >> .gitignore\necho \"*.log\" >> .gitignore\necho \".env\" >> .gitignore\n\n# Bereits verfolgte Dateien ignorieren\ngit rm --cached <datei>\necho \"<datei>\" >> .gitignore\ngit add .gitignore\ngit commit -m \"Datei zu .gitignore hinzufügen\"\n```\n\n### Git Hooks\n\n**Lokale Hooks konfigurieren:**\n```bash\n# Pre-commit Hook (Beispiel)\ncat > .git/hooks/pre-commit << 'EOF'\n#!/bin/sh\n# Tests vor jedem Commit ausführen\nnpm test\nEOF\n\nchmod +x .git/hooks/pre-commit\n```\n\n---\n\n## 🌍 Andere Sprachen\n\nDieses Cheat-Sheet ist in mehreren Sprachen verfügbar:\n\n| Sprache | Link |\n|---------|------|\n| 🇺🇸 Englisch | [README.md](../README.md) |\n| 🇸🇦 Arabisch | [git-cheat-sheet-ar.md](./git-cheat-sheet-ar.md) |\n| 🇧🇩 Bengali | [git-cheat-sheet-bn.md](./git-cheat-sheet-bn.md) |\n| 🇧🇷 Brasilianisches Portugiesisch | [git-cheat-sheet-pt_BR.md](./git-cheat-sheet-pt_BR.md) |\n| 🇨🇳 Chinesisch | [git-cheat-sheet-zh.md](./git-cheat-sheet-zh.md) |\n| 🇪🇸 Spanisch | [git-cheat-sheet-es.md](./git-cheat-sheet-es.md) |\n| 🇬🇷 Griechisch | [git-cheat-sheet-el.md](./git-cheat-sheet-el.md) |\n| 🇮🇳 Hindi | [git-cheat-sheet-hi.md](./git-cheat-sheet-hi.md) |\n| 🇰🇷 Koreanisch | [git-cheat-sheet-ko.md](./git-cheat-sheet-ko.md) |\n| 🇵🇱 Polnisch | [git-cheat-sheet-pl.md](./git-cheat-sheet-pl.md) |\n| 🇹🇷 Türkisch | [git-cheat-sheet-tr.md](./git-cheat-sheet-tr.md) |\n\n---\n\n## 🤝 Beitragen\n\nWir begrüßen Beiträge! Sie können:\n\n- 🐛 Fehler oder Tippfehler melden\n- ✨ Neue Git-Befehle hinzufügen\n- 🌍 In neue Sprachen übersetzen\n- 💡 Erklärungen verbessern\n- 📝 Formatierung verbessern\n\n**Wie Sie beitragen:**\n1. Forken Sie dieses Repository\n2. Erstellen Sie Ihren Feature-Branch (`git checkout -b feature/FantastischesFeature`)\n3. Committen Sie Ihre Änderungen (`git commit -m 'Fantastisches Feature hinzufügen'`)\n4. Pushen Sie zum Branch (`git push origin feature/FantastischesFeature`)\n5. Öffnen Sie einen Pull Request\n\n---\n\n## 📄 Lizenz\n\nDieses Projekt ist Open Source und unter der [MIT-Lizenz](LICENSE) verfügbar.\n\n---\n\n## 📖 Zusätzliche Ressourcen\n\n- [Offizielle Git-Dokumentation](https://git-scm.com/doc)\n- [Atlassian Git-Tutorials](https://www.atlassian.com/git/tutorials)\n- [GitHub Git Cheat Sheet](https://education.github.com/git-cheat-sheet-education.pdf)\n- [Interaktives Git-Tutorial](https://learngitbranching.js.org/)\n- [Pro Git Buch (kostenlos)](https://git-scm.com/book/de/v2)\n- [Git Workflows](https://www.atlassian.com/git/tutorials/comparing-workflows)\n\n---\n\n<p align=\"center\">\n    <b>⭐ Geben Sie diesem Repository einen Stern, wenn es hilfreich war!</b>\n</p>\n"
  },
  {
    "path": "other-sheets/git-cheat-sheet-el.md",
    "content": "# Git Cheat Sheet Ελληνικά\n\n![Git Logo](../Img/git-logo.png)\n\nΈνας γρήγορος οδηγός αναφοράς για τις πιο χρησιμοποιούμενες εντολές Git, οργανωμένες σε κατηγορίες για εύκολη χρήση.\n\n---\n\n## 📖 Σχετικά με τον Οδηγό\n\nΑυτός ο περιεκτικός οδηγός αναφοράς Git είναι μια πλήρης αναφορά για όλους όσους θέλουν να βελτιώσουν τη ροή εργασίας τους με το Git. Από αρχάριους που ξεκινούν το ταξίδι τους με το Git μέχρι έμπειρους προγραμματιστές, αυτός ο οδηγός παρέχει οργανωμένες και κατηγοριοποιημένες εντολές για να επιταχύνει το ταξίδι ανάπτυξής σας.\n\n### Βασικά Χαρακτηριστικά:\n- **Οργανωμένες κατηγορίες**: Οι εντολές είναι ταξινομημένες σε σαφείς και λογικές ομάδες\n- **Πρακτικά παραδείγματα**: Με περιπτώσεις χρήσης από τον πραγματικό κόσμο\n- **Φιλικό προς αρχάριους**: Με σαφείς εξηγήσεις και συμβουλές\n- **Γρήγορη αναφορά**: Γρήγορη πρόσβαση στις απαραίτητες εντολές\n\n---\n\n## 📑 Πίνακας Περιεχομένων\n\n- [📖 Σχετικά με τον Οδηγό](#σχετικά-με-τον-οδηγό)\n- [🔧 Αρχική Ρύθμιση](#αρχική-ρύθμιση)\n- [📁 Ρύθμιση Αποθετηρίου](#ρύθμιση-αποθετηρίου)\n- [📊 Εντολές Κατάστασης](#εντολές-κατάστασης)\n- [📝 Διαχείριση Αρχείων](#διαχείριση-αρχείων)\n- [💾 Υποβολές (Commits)](#υποβολές-commits)\n- [🌿 Κλάδοι (Branches)](#κλάδοι-branches)\n- [🔀 Συγχώνευση (Merge)](#συγχώνευση-merge)\n- [🌐 Απομακρυσμένα Αποθετήρια](#απομακρυσμένα-αποθετήρια)\n- [📚 Ιστορικό και Αρχεία](#ιστορικό-και-αρχεία)\n- [🏷️ Ετικέτες (Tags)](#ετικέτες-tags)\n- [↩️ Αναίρεση Αλλαγών](#αναίρεση-αλλαγών)\n- [📦 Αποθήκευση (Stash)](#αποθήκευση-stash)\n- [🌊 Git Flow](#git-flow)\n- [⚙️ Αρχεία Ρυθμίσεων](#αρχεία-ρυθμίσεων)\n- [🔍 Αναζήτηση](#αναζήτηση)\n- [📁 Μετακίνηση/Μετονομασία](#μετακίνησημετονομασία)\n- [💡 Χρήσιμες Συμβουλές](#χρήσιμες-συμβουλές)\n- [🌍 Άλλες Γλώσσες](#άλλες-γλώσσες)\n- [🤝 Συνεισφορά](#συνεισφορά)\n- [📄 Άδεια Χρήσης](#άδεια-χρήσης)\n- [📖 Επιπλέον Πόροι](#επιπλέον-πόροι)\n\n---\n\n## 🔧 Αρχική Ρύθμιση\n\nΡυθμίστε το Git με τις προσωπικές σας πληροφορίες:\n\n```bash\n# Ρύθμιση ονόματος χρήστη\ngit config --global user.name \"Το Όνομά Σας\"\n\n# Ρύθμιση email\ngit config --global user.email \"email@example.com\"\n\n# Προβολή τρεχουσών ρυθμίσεων\ngit config --list\n\n# Ρύθμιση προεπιλεγμένου επεξεργαστή\ngit config --global core.editor \"nano\"\n\n# Ρύθμιση εργαλείου συγχώνευσης\ngit config --global merge.tool vimdiff\n```\n\n---\n\n## 📁 Ρύθμιση Αποθετηρίου\n\n### Δημιουργία νέου αποθετηρίου:\n\n```bash\n# Δημιουργία νέου Git αποθετηρίου\ngit init\n\n# Κλωνοποίηση υπάρχοντος αποθετηρίου\ngit clone <url-αποθετηρίου>\n\n# Κλωνοποίηση σε συγκεκριμένο φάκελο\ngit clone <url-αποθετηρίου> <όνομα-φακέλου>\n```\n\n---\n\n## 📊 Εντολές Κατάστασης\n\n### Έλεγχος κατάστασης του αποθετηρίου σας:\n\n```bash\n# Προβολή τρέχουσας κατάστασης αποθετηρίου\ngit status\n\n# Προβολή κατάστασης σε σύντομη μορφή\ngit status -s\n\n# Προβολή κατάστασης αγνοώντας μη παρακολουθούμενα αρχεία\ngit status --ignored\n\n# Προβολή διαφορών σε τροποποιημένα αρχεία\ngit diff\n\n# Προβολή διαφορών στην περιοχή staging\ngit diff --staged\n\n# Προβολή διαφορών μεταξύ κλάδων\ngit diff <κλάδος1> <κλάδος2>\n```\n\n---\n\n## 📝 Διαχείριση Αρχείων\n\n### Προσθήκη και αφαίρεση αρχείων:\n\n```bash\n# Προσθήκη συγκεκριμένου αρχείου στην περιοχή staging\ngit add <αρχείο>\n\n# Προσθήκη όλων των τροποποιημένων αρχείων\ngit add .\n\n# Προσθήκη όλων των αρχείων συγκεκριμένου τύπου\ngit add *.txt\n\n# Διαδραστική προσθήκη\ngit add -i\n\n# Αφαίρεση αρχείου από αποθετήριο και φάκελο εργασίας\ngit rm <αρχείο>\n\n# Αφαίρεση αρχείου μόνο από αποθετήριο (διατήρηση στον φάκελο)\ngit rm --cached <αρχείο>\n\n# Μετακίνηση/μετονομασία αρχείου\ngit mv <αρχείο-πηγής> <αρχείο-προορισμού>\n```\n\n---\n\n## 💾 Υποβολές (Commits)\n\n### Αποθήκευση αλλαγών στο αποθετήριο:\n\n```bash\n# Υποβολή με μήνυμα\ngit commit -m \"Μήνυμα υποβολής\"\n\n# Υποβολή προσθέτοντας όλα τα τροποποιημένα αρχεία\ngit commit -am \"Μήνυμα υποβολής\"\n\n# Τροποποίηση της τελευταίας υποβολής\ngit commit --amend\n\n# Κενή υποβολή (χρήσιμη για CI/CD triggers)\ngit commit --allow-empty -m \"Trigger CI\"\n\n# Υποβολή με λεπτομερές μήνυμα (ανοίγει επεξεργαστή)\ngit commit\n```\n\n---\n\n## 🌿 Κλάδοι (Branches)\n\n### Εργασία με κλάδους:\n\n```bash\n# Προβολή όλων των κλάδων\ngit branch\n\n# Προβολή απομακρυσμένων κλάδων\ngit branch -r\n\n# Προβολή όλων των κλάδων (τοπικών και απομακρυσμένων)\ngit branch -a\n\n# Δημιουργία νέου κλάδου\ngit branch <όνομα-κλάδου>\n\n# Μετάβαση σε κλάδο\ngit checkout <όνομα-κλάδου>\n\n# Δημιουργία και μετάβαση σε νέο κλάδο\ngit checkout -b <όνομα-κλάδου>\n\n# Δημιουργία κλάδου από συγκεκριμένη υποβολή\ngit checkout -b <όνομα-κλάδου> <hash-υποβολής>\n\n# Διαγραφή κλάδου\ngit branch -d <όνομα-κλάδου>\n\n# Βίαιη διαγραφή κλάδου\ngit branch -D <όνομα-κλάδου>\n\n# Μετονομασία τρέχοντος κλάδου\ngit branch -m <νέο-όνομα>\n\n# Μετονομασία συγκεκριμένου κλάδου\ngit branch -m <παλιό-όνομα> <νέο-όνομα>\n```\n\n---\n\n## 🔀 Συγχώνευση (Merge)\n\n### Συγχώνευση αλλαγών μεταξύ κλάδων:\n\n```bash\n# Συγχώνευση κλάδου στον τρέχοντα κλάδο\ngit merge <όνομα-κλάδου>\n\n# Συγχώνευση χωρίς fast-forward (δημιουργία merge commit)\ngit merge --no-ff <όνομα-κλάδου>\n\n# Συγχώνευση μόνο αν είναι fast-forward\ngit merge --ff-only <όνομα-κλάδου>\n\n# Ακύρωση τρέχουσας συγχώνευσης\ngit merge --abort\n\n# Συνέχιση συγχώνευσης μετά την επίλυση συγκρούσεων\ngit merge --continue\n```\n\n---\n\n## 🌐 Απομακρυσμένα Αποθετήρια\n\n### Διαχείριση απομακρυσμένων αποθετηρίων:\n\n```bash\n# Προβολή απομακρυσμένων αποθετηρίων\ngit remote\n\n# Προβολή απομακρυσμένων αποθετηρίων με URLs\ngit remote -v\n\n# Προσθήκη απομακρυσμένου αποθετηρίου\ngit remote add <όνομα> <url>\n\n# Αλλαγή URL απομακρυσμένου αποθετηρίου\ngit remote set-url <όνομα> <νέο-url>\n\n# Αφαίρεση απομακρυσμένου αποθετηρίου\ngit remote remove <όνομα>\n\n# Αποστολή αλλαγών στο απομακρυσμένο αποθετήριο\ngit push <απομακρυσμένο> <κλάδος>\n\n# Αποστολή κλάδου και ρύθμιση παρακολούθησης\ngit push -u <απομακρυσμένο> <κλάδος>\n\n# Αποστολή όλων των κλάδων\ngit push --all\n\n# Αποστολή ετικετών\ngit push --tags\n\n# Λήψη αλλαγών από απομακρυσμένο αποθετήριο\ngit pull <απομακρυσμένο> <κλάδος>\n\n# Λήψη αλλαγών χωρίς συγχώνευση\ngit fetch <απομακρυσμένο>\n\n# Λήψη όλων των απομακρυσμένων κλάδων\ngit fetch --all\n```\n\n---\n\n## 📚 Ιστορικό και Αρχεία\n\n### Εξερεύνηση ιστορικού υποβολών:\n\n```bash\n# Προβολή ιστορικού υποβολών\ngit log\n\n# Προβολή ιστορικού σε μία γραμμή ανά υποβολή\ngit log --oneline\n\n# Προβολή ιστορικού με γράφημα\ngit log --graph\n\n# Προβολή ιστορικού συγκεκριμένου αρχείου\ngit log <αρχείο>\n\n# Προβολή στατιστικών υποβολών\ngit log --stat\n\n# Προβολή αλλαγών σε κάθε υποβολή\ngit log -p\n\n# Προβολή τελευταίων N υποβολών\ngit log -n <αριθμός>\n\n# Προβολή υποβολών μεταξύ ημερομηνιών\ngit log --since=\"2023-01-01\" --until=\"2023-12-31\"\n\n# Προβολή υποβολών ανά συγγραφέα\ngit log --author=\"Όνομα Συγγραφέα\"\n\n# Αναζήτηση σε μηνύματα υποβολών\ngit log --grep=\"λέξη κλειδί\"\n```\n\n---\n\n## 🏷️ Ετικέτες (Tags)\n\n### Διαχείριση ετικετών έκδοσης:\n\n```bash\n# Προβολή όλων των ετικετών\ngit tag\n\n# Δημιουργία ελαφριάς ετικέτας\ngit tag <όνομα-ετικέτας>\n\n# Δημιουργία σχολιασμένης ετικέτας\ngit tag -a <όνομα-ετικέτας> -m \"Μήνυμα ετικέτας\"\n\n# Δημιουργία ετικέτας σε συγκεκριμένη υποβολή\ngit tag -a <όνομα-ετικέτας> <hash-υποβολής>\n\n# Προβολή πληροφοριών ετικέτας\ngit show <όνομα-ετικέτας>\n\n# Διαγραφή τοπικής ετικέτας\ngit tag -d <όνομα-ετικέτας>\n\n# Διαγραφή απομακρυσμένης ετικέτας\ngit push --delete <απομακρυσμένο> <όνομα-ετικέτας>\n\n# Αποστολή συγκεκριμένης ετικέτας\ngit push <απομακρυσμένο> <όνομα-ετικέτας>\n\n# Αποστολή όλων των ετικετών\ngit push <απομακρυσμένο> --tags\n```\n\n---\n\n## ↩️ Αναίρεση Αλλαγών\n\n### Επαναφορά τροποποιήσεων:\n\n```bash\n# Ακύρωση αλλαγών σε συγκεκριμένο αρχείο\ngit checkout <αρχείο>\n\n# Ακύρωση όλων των μη υποβληθεισών αλλαγών\ngit checkout .\n\n# Επαναφορά αρχείου σε συγκεκριμένη έκδοση\ngit checkout <hash-υποβολής> <αρχείο>\n\n# Αφαίρεση αρχείου από την περιοχή staging\ngit reset <αρχείο>\n\n# Αφαίρεση όλων των αρχείων από την περιοχή staging\ngit reset\n\n# Επιστροφή στην προηγούμενη υποβολή (διατήρηση αλλαγών)\ngit reset --soft HEAD~1\n\n# Επιστροφή στην προηγούμενη υποβολή (ακύρωση αλλαγών)\ngit reset --hard HEAD~1\n\n# Επιστροφή σε συγκεκριμένη υποβολή\ngit reset --hard <hash-υποβολής>\n\n# Δημιουργία υποβολής που ακυρώνει άλλη υποβολή\ngit revert <hash-υποβολής>\n\n# Ακύρωση πολλαπλών υποβολών\ngit revert <hash-από>..<hash-έως>\n```\n\n---\n\n## 📦 Αποθήκευση (Stash)\n\n### Προσωρινή αποθήκευση εργασίας:\n\n```bash\n# Αποθήκευση τρεχουσών αλλαγών στο stash\ngit stash\n\n# Αποθήκευση με περιγραφικό μήνυμα\ngit stash save \"Περιγραφικό μήνυμα\"\n\n# Προβολή όλων των stashes\ngit stash list\n\n# Εφαρμογή του τελευταίου stash\ngit stash apply\n\n# Εφαρμογή συγκεκριμένου stash\ngit stash apply stash@{0}\n\n# Εφαρμογή και διαγραφή του τελευταίου stash\ngit stash pop\n\n# Διαγραφή συγκεκριμένου stash\ngit stash drop stash@{0}\n\n# Διαγραφή όλων των stashes\ngit stash clear\n\n# Προβολή αλλαγών σε stash\ngit stash show stash@{0}\n\n# Δημιουργία κλάδου από stash\ngit stash branch <όνομα-κλάδου> stash@{0}\n```\n\n---\n\n## 🌊 Git Flow\n\nΤο Git Flow είναι ένα μοντέλο διακλάδωσης που ορίζει μια αυστηρή ροή εργασίας σχεδιασμένη γύρω από την έκδοση του έργου.\n\n### Κύριοι κλάδοι:\n- **master/main**: Κώδικας παραγωγής\n- **develop**: Κύριος κλάδος ανάπτυξης\n\n### Κλάδοι υποστήριξης:\n- **feature**: Για νέες λειτουργίες\n- **release**: Για προετοιμασία νέων εκδόσεων\n- **hotfix**: Για επείγουσες διορθώσεις στην παραγωγή\n\n### Εντολές Git Flow:\n\n```bash\n# Αρχικοποίηση git flow\ngit flow init\n\n# Έναρξη νέας λειτουργίας\ngit flow feature start <όνομα-λειτουργίας>\n\n# Ολοκλήρωση λειτουργίας\ngit flow feature finish <όνομα-λειτουργίας>\n\n# Δημοσίευση λειτουργίας\ngit flow feature publish <όνομα-λειτουργίας>\n\n# Έναρξη έκδοσης\ngit flow release start <έκδοση>\n\n# Ολοκλήρωση έκδοσης\ngit flow release finish <έκδοση>\n\n# Έναρξη hotfix\ngit flow hotfix start <έκδοση>\n\n# Ολοκλήρωση hotfix\ngit flow hotfix finish <έκδοση>\n```\n\n### Ροή εργασίας χωρίς Git Flow:\n\n![Git Flow Commands](../Img/git-flow-commands-without-flow.png)\n\n```bash\n# Δημιουργία κλάδου λειτουργίας\ngit checkout develop\ngit checkout -b feature/νέα-λειτουργία\n\n# Εργασία στη λειτουργία\ngit add .\ngit commit -m \"Προσθήκη νέας λειτουργίας\"\n\n# Συγχώνευση λειτουργίας στο develop\ngit checkout develop\ngit merge --no-ff feature/νέα-λειτουργία\ngit branch -d feature/νέα-λειτουργία\n\n# Δημιουργία κλάδου έκδοσης\ngit checkout develop\ngit checkout -b release/1.0.0\n\n# Ολοκλήρωση έκδοσης\ngit checkout master\ngit merge --no-ff release/1.0.0\ngit tag -a 1.0.0 -m \"Έκδοση 1.0.0\"\ngit checkout develop\ngit merge --no-ff release/1.0.0\ngit branch -d release/1.0.0\n```\n\n---\n\n## 💡 Χρήσιμες Συμβουλές\n\n### Χρήσιμα aliases:\n\n```bash\n# Ρύθμιση χρήσιμων aliases\ngit config --global alias.st status\ngit config --global alias.co checkout\ngit config --global alias.br branch\ngit config --global alias.ci commit\ngit config --global alias.unstage 'reset HEAD --'\ngit config --global alias.last 'log -1 HEAD'\ngit config --global alias.visual '!gitk'\n```\n\n### Αρχεία .gitignore:\n\n```bash\n# Δημιουργία αρχείου .gitignore\necho \"node_modules/\" >> .gitignore\necho \"*.log\" >> .gitignore\necho \".env\" >> .gitignore\n\n# Αγνόηση ήδη παρακολουθούμενων αρχείων\ngit rm --cached <αρχείο>\necho \"<αρχείο>\" >> .gitignore\ngit add .gitignore\ngit commit -m \"Προσθήκη αρχείου στο .gitignore\"\n```\n\n---\n\n## ⚙️ Αρχεία Ρυθμίσεων\n\nΤο Git χρησιμοποιεί αρχεία ρυθμίσεων για την αποθήκευση προτιμήσεων χρήστη και αποθετηρίου:\n\n### Επίπεδα ρυθμίσεων:\n\n```bash\n# Συστήματος (όλοι οι χρήστες)\ngit config --system\n\n# Χρήστη (τρέχων χρήστης)\ngit config --global\n\n# Αποθετηρίου (συγκεκριμένο έργο)\ngit config --local\n```\n\n### Κοινές ρυθμίσεις:\n\n```bash\n# Ταυτότητα χρήστη\ngit config --global user.name \"Το Όνομά σας\"\ngit config --global user.email \"email@example.com\"\n\n# Επεξεργαστής κειμένου\ngit config --global core.editor nano\n\n# Εργαλείο συγχώνευσης\ngit config --global merge.tool vimdiff\n\n# Χρώματα στην έξοδο\ngit config --global color.ui auto\n\n# Προβολή ρυθμίσεων\ngit config --list\n```\n\n---\n\n## 🔍 Αναζήτηση\n\n### Αναζήτηση στο ιστορικό και περιεχόμενο:\n\n```bash\n# Αναζήτηση στα μηνύματα υποβολών\ngit log --grep=\"λέξη-κλειδί\"\n\n# Αναζήτηση αλλαγών στον κώδικα\ngit log -S \"κομμάτι κώδικα\"\n\n# Αναζήτηση σε αρχεία εργασίας\ngit grep \"μοτίβο\"\n\n# Αναζήτηση σε συγκεκριμένη υποβολή\ngit grep \"μοτίβο\" <hash-υποβολής>\n\n# Αναζήτηση με αγνόηση πεζών/κεφαλαίων\ngit grep -i \"μοτίβο\"\n\n# Αναζήτηση ολόκληρων λέξεων\ngit grep -w \"λέξη\"\n\n# Εμφάνιση αριθμών γραμμών\ngit grep -n \"μοτίβο\"\n```\n\n---\n\n## 📁 Μετακίνηση/Μετονομασία\n\n### Μετακίνηση και μετονομασία αρχείων:\n\n```bash\n# Μετονομασία αρχείου\ngit mv παλιό_όνομα.txt νέο_όνομα.txt\n\n# Μετακίνηση αρχείου σε φάκελο\ngit mv αρχείο.txt φάκελος/\n\n# Μετονομασία φακέλου\ngit mv παλιός_φάκελος νέος_φάκελος\n\n# Διαδικασία μετονομασίας χωρίς git mv\nmv παλιό_όνομα.txt νέο_όνομα.txt\ngit add νέο_όνομα.txt\ngit rm παλιό_όνομα.txt\n\n# Εντοπισμός μετονομασιών στο log\ngit log --follow αρχείο.txt\n\n# Παρακολούθηση μετακινήσεων\ngit log --stat -M\n```\n\n---\n\n## 🌍 Άλλες Γλώσσες\n\nΑυτό το Git cheat sheet είναι διαθέσιμο σε διάφορες γλώσσες:\n\n| Γλώσσα | Αρχείο |\n|--------|---------|\n| 🇺🇸 English | [README.md](../README.md) |\n| 🇸🇦 العربية | [git-cheat-sheet-ar.md](git-cheat-sheet-ar.md) |\n| 🇧🇩 বাংলা | [git-cheat-sheet-bn.md](git-cheat-sheet-bn.md) |\n| 🇩🇪 Deutsch | [git-cheat-sheet-de.md](git-cheat-sheet-de.md) |\n| 🇬🇷 **Ελληνικά** | [git-cheat-sheet-el.md](git-cheat-sheet-el.md) |\n| 🇪🇸 Español | [git-cheat-sheet-es.md](git-cheat-sheet-es.md) |\n| 🇮🇳 हिन्दी | [git-cheat-sheet-hi.md](git-cheat-sheet-hi.md) |\n| 🇰🇷 한국어 | [git-cheat-sheet-ko.md](git-cheat-sheet-ko.md) |\n| 🇵🇱 Polski | [git-cheat-sheet-pl.md](git-cheat-sheet-pl.md) |\n| 🇧🇷 Português (Brasil) | [git-cheat-sheet-pt_BR.md](git-cheat-sheet-pt_BR.md) |\n| 🇹🇷 Türkçe | [git-cheat-sheet-tr.md](git-cheat-sheet-tr.md) |\n| 🇨🇳 中文 | [git-cheat-sheet-zh.md](git-cheat-sheet-zh.md) |\n\n---\n\n## 🤝 Συνεισφορά\n\nΟι συνεισφορές είναι ευπρόσδεκτες! Αν θέλετε να βελτιώσετε αυτό το cheat sheet:\n\n1. Κάντε Fork το αποθετήριο\n2. Δημιουργήστε έναν κλάδο λειτουργίας (`git checkout -b feature/βελτίωση`)\n3. Κάντε commit τις αλλαγές σας (`git commit -am 'Προσθήκη νέας λειτουργίας'`)\n4. Κάντε Push στον κλάδο (`git push origin feature/βελτίωση`)\n5. Δημιουργήστε ένα Pull Request\n\nΠαρακαλούμε ακολουθήστε τις οδηγίες συνεισφοράς και διασφαλίστε ότι ο κώδικάς σας ακολουθεί τα υπάρχοντα πρότυπα.\n\n---\n\n## 📄 Άδεια Χρήσης\n\nΑυτό το έργο αδειοδοτείται με την [MIT License](https://opensource.org/licenses/MIT).\n\nΜπορείτε ελεύθερα να χρησιμοποιήσετε, τροποποιήσετε και διανείμετε αυτό το cheat sheet σύμφωνα με τους όρους της άδειας MIT.\n\n---\n\n## 📖 Επιπλέον Πόροι\n\n- [Επίσημη Τεκμηρίωση Git](https://git-scm.com/doc)\n- [Atlassian Git Tutorials](https://www.atlassian.com/git/tutorials)\n- [GitHub Git Cheat Sheet](https://education.github.com/git-cheat-sheet-education.pdf)\n- [Διαδραστικό Git Tutorial](https://learngitbranching.js.org/)\n\n---\n\n**Σημείωση**: Αυτό το cheat sheet καλύπτει τις πιο συνηθισμένες εντολές Git. Για πιο προχωρημένες χρήσεις, συμβουλευτείτε την επίσημη τεκμηρίωση του Git.\n"
  },
  {
    "path": "other-sheets/git-cheat-sheet-es.md",
    "content": "# Git Cheat Sheet Español\n\n![Git Logo](../Img/git-logo.png)\n\nUna guía de referencia rápida para los comandos de Git más utilizados, organizados por categorías para facilitar su consulta.\n\n---\n\n## 📖 Acerca de esta Guía\n\nEsta 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.\n\n### Características Principales:\n- **Categorías organizadas**: Los comandos están organizados en grupos claros y lógicos\n- **Ejemplos prácticos**: Con casos de uso del mundo real\n- **Amigable para principiantes**: Con explicaciones claras y consejos\n- **Referencia rápida**: Acceso rápido a comandos esenciales\n\n---\n\n## 📑 Tabla de Contenidos\n\n- [� Acerca de esta Guía](#acerca-de-esta-guía)\n- [�🔧 Configuración Inicial](#configuración-inicial)\n- [📁 Configuración de Repositorio](#configuración-de-repositorio)\n- [📊 Comandos de Estado](#comandos-de-estado)\n- [📝 Gestión de Archivos](#gestión-de-archivos)\n- [💾 Commits](#commits)\n- [🌿 Ramas (Branches)](#ramas-branches)\n- [🔀 Fusión (Merge)](#fusión-merge)\n- [🌐 Remotos](#remotos)\n- [📚 Historial y Logs](#historial-y-logs)\n- [🏷️ Etiquetas (Tags)](#etiquetas-tags)\n- [↩️ Deshacer Cambios](#deshacer-cambios)\n- [📦 Stash](#stash)\n- [🌊 Git Flow](#git-flow)\n- [⚙️ Archivos de Configuración](#archivos-de-configuración)\n- [🔍 Búsqueda](#búsqueda)\n- [📁 Mover/Renombrar](#moverrenombrar)\n- [💡 Consejos Útiles](#consejos-útiles)\n- [🌍 Otros Idiomas](#otros-idiomas)\n- [🤝 Contribuir](#contribuir)\n- [📄 Licencia](#licencia)\n- [📖 Recursos Adicionales](#recursos-adicionales)\n\n---\n\n## 🔧 Configuración Inicial\n\nConfigurar Git con tu información personal:\n\n```bash\n# Configurar nombre de usuario\ngit config --global user.name \"Tu Nombre\"\n\n# Configurar email\ngit config --global user.email \"tuemail@ejemplo.com\"\n\n# Ver configuración actual\ngit config --list\n\n# Configurar editor por defecto\ngit config --global core.editor \"nano\"\n\n# Configurar herramienta de diff\ngit config --global merge.tool vimdiff\n```\n\n---\n\n## 📁 Configuración de Repositorio\n\n### Inicializar un nuevo repositorio:\n\n```bash\n# Crear un nuevo repositorio Git\ngit init\n\n# Clonar un repositorio existente\ngit clone <url-del-repositorio>\n\n# Clonar a un directorio específico\ngit clone <url-del-repositorio> <nombre-directorio>\n```\n\n---\n\n## 📊 Comandos de Estado\n\n### Verificar el estado de tu repositorio:\n\n```bash\n# Mostrar estado actual del repositorio\ngit status\n\n# Mostrar estado en formato corto\ngit status -s\n\n# Mostrar estado ignorando archivos no rastreados\ngit status --ignored\n\n# Mostrar diferencias en archivos modificados\ngit diff\n\n# Mostrar diferencias en el área de preparación\ngit diff --staged\n\n# Mostrar diferencias entre ramas\ngit diff <rama1> <rama2>\n```\n\n---\n\n## 📝 Gestión de Archivos\n\n### Agregar y remover archivos:\n\n```bash\n# Agregar archivo específico al área de preparación\ngit add <archivo>\n\n# Agregar todos los archivos modificados\ngit add .\n\n# Agregar todos los archivos de un tipo específico\ngit add *.txt\n\n# Agregar interactivamente\ngit add -i\n\n# Remover archivo del repositorio y del directorio de trabajo\ngit rm <archivo>\n\n# Remover archivo solo del repositorio (mantener en directorio)\ngit rm --cached <archivo>\n\n# Mover/renombrar archivo\ngit mv <archivo-origen> <archivo-destino>\n```\n\n---\n\n## 💾 Commits\n\n### Guardar cambios en el repositorio:\n\n```bash\n# Hacer commit con mensaje\ngit commit -m \"Mensaje del commit\"\n\n# Hacer commit agregando todos los archivos modificados\ngit commit -am \"Mensaje del commit\"\n\n# Modificar el último commit\ngit commit --amend\n\n# Hacer commit vacío (útil para triggers de CI/CD)\ngit commit --allow-empty -m \"Trigger CI\"\n\n# Hacer commit con mensaje detallado (abre editor)\ngit commit\n```\n\n---\n\n## 🌿 Ramas (Branches)\n\n### Trabajar con ramas:\n\n```bash\n# Listar todas las ramas\ngit branch\n\n# Listar ramas remotas\ngit branch -r\n\n# Listar todas las ramas (locales y remotas)\ngit branch -a\n\n# Crear nueva rama\ngit branch <nombre-rama>\n\n# Cambiar a una rama\ngit checkout <nombre-rama>\n\n# Crear y cambiar a nueva rama\ngit checkout -b <nombre-rama>\n\n# Crear rama desde un commit específico\ngit checkout -b <nombre-rama> <hash-commit>\n\n# Eliminar rama\ngit branch -d <nombre-rama>\n\n# Eliminar rama forzadamente\ngit branch -D <nombre-rama>\n\n# Renombrar rama actual\ngit branch -m <nuevo-nombre>\n\n# Renombrar rama específica\ngit branch -m <nombre-antiguo> <nombre-nuevo>\n```\n\n---\n\n## 🔀 Fusión (Merge)\n\n### Fusionar cambios entre ramas:\n\n```bash\n# Fusionar rama en la rama actual\ngit merge <nombre-rama>\n\n# Fusionar sin fast-forward (crear commit de merge)\ngit merge --no-ff <nombre-rama>\n\n# Fusionar solo si es fast-forward\ngit merge --ff-only <nombre-rama>\n\n# Abortar fusión en curso\ngit merge --abort\n\n# Continuar fusión después de resolver conflictos\ngit merge --continue\n```\n\n---\n\n## 🌐 Remotos\n\n### Gestionar repositorios remotos:\n\n```bash\n# Listar repositorios remotos\ngit remote\n\n# Listar repositorios remotos con URLs\ngit remote -v\n\n# Agregar repositorio remoto\ngit remote add <nombre> <url>\n\n# Cambiar URL de repositorio remoto\ngit remote set-url <nombre> <nueva-url>\n\n# Eliminar repositorio remoto\ngit remote remove <nombre>\n\n# Subir cambios al repositorio remoto\ngit push <remoto> <rama>\n\n# Subir rama y establecer tracking\ngit push -u <remoto> <rama>\n\n# Subir todas las ramas\ngit push --all\n\n# Subir etiquetas\ngit push --tags\n\n# Descargar cambios del repositorio remoto\ngit pull <remoto> <rama>\n\n# Descargar cambios sin fusionar\ngit fetch <remoto>\n\n# Descargar todas las ramas remotas\ngit fetch --all\n```\n\n---\n\n## 📚 Historial y Logs\n\n### Explorar el historial de commits:\n\n```bash\n# Mostrar historial de commits\ngit log\n\n# Mostrar historial en una línea por commit\ngit log --oneline\n\n# Mostrar historial con gráfico\ngit log --graph\n\n# Mostrar historial de un archivo específico\ngit log <archivo>\n\n# Mostrar estadísticas de commits\ngit log --stat\n\n# Mostrar cambios en cada commit\ngit log -p\n\n# Mostrar últimos N commits\ngit log -n <número>\n\n# Mostrar commits entre fechas\ngit log --since=\"2023-01-01\" --until=\"2023-12-31\"\n\n# Mostrar commits por autor\ngit log --author=\"Nombre del Autor\"\n\n# Buscar en mensajes de commit\ngit log --grep=\"palabra clave\"\n```\n\n---\n\n## 🏷️ Etiquetas (Tags)\n\n### Gestionar etiquetas de versión:\n\n```bash\n# Listar todas las etiquetas\ngit tag\n\n# Crear etiqueta ligera\ngit tag <nombre-etiqueta>\n\n# Crear etiqueta anotada\ngit tag -a <nombre-etiqueta> -m \"Mensaje de la etiqueta\"\n\n# Crear etiqueta en commit específico\ngit tag -a <nombre-etiqueta> <hash-commit>\n\n# Mostrar información de una etiqueta\ngit show <nombre-etiqueta>\n\n# Eliminar etiqueta local\ngit tag -d <nombre-etiqueta>\n\n# Eliminar etiqueta remota\ngit push --delete <remoto> <nombre-etiqueta>\n\n# Subir etiqueta específica\ngit push <remoto> <nombre-etiqueta>\n\n# Subir todas las etiquetas\ngit push <remoto> --tags\n```\n\n---\n\n## ↩️ Deshacer Cambios\n\n### Revertir modificaciones:\n\n```bash\n# Descartar cambios en archivo específico\ngit checkout <archivo>\n\n# Descartar todos los cambios no confirmados\ngit checkout .\n\n# Revertir archivo a versión específica\ngit checkout <hash-commit> <archivo>\n\n# Quitar archivo del área de preparación\ngit reset <archivo>\n\n# Quitar todos los archivos del área de preparación\ngit reset\n\n# Revertir al commit anterior (mantener cambios)\ngit reset --soft HEAD~1\n\n# Revertir al commit anterior (descartar cambios)\ngit reset --hard HEAD~1\n\n# Revertir a commit específico\ngit reset --hard <hash-commit>\n\n# Crear commit que revierte otro commit\ngit revert <hash-commit>\n\n# Revertir múltiples commits\ngit revert <hash-desde>..<hash-hasta>\n```\n\n---\n\n## 📦 Stash\n\n### Guardar trabajo temporalmente:\n\n```bash\n# Guardar cambios actuales en stash\ngit stash\n\n# Guardar con mensaje descriptivo\ngit stash save \"Mensaje descriptivo\"\n\n# Listar todos los stashes\ngit stash list\n\n# Aplicar el último stash\ngit stash apply\n\n# Aplicar stash específico\ngit stash apply stash@{0}\n\n# Aplicar y eliminar el último stash\ngit stash pop\n\n# Eliminar stash específico\ngit stash drop stash@{0}\n\n# Eliminar todos los stashes\ngit stash clear\n\n# Mostrar cambios en un stash\ngit stash show stash@{0}\n\n# Crear rama desde un stash\ngit stash branch <nombre-rama> stash@{0}\n```\n\n---\n\n## 🌊 Git Flow\n\nGit Flow es un modelo de ramificación que define un flujo de trabajo estricto diseñado alrededor del lanzamiento del proyecto.\n\n### Ramas principales:\n- **master/main**: Código de producción\n- **develop**: Rama de desarrollo principal\n\n### Ramas de soporte:\n- **feature**: Para nuevas características\n- **release**: Para preparar nuevas versiones\n- **hotfix**: Para correcciones urgentes en producción\n\n### Comandos Git Flow:\n\n```bash\n# Inicializar git flow\ngit flow init\n\n# Iniciar nueva característica\ngit flow feature start <nombre-caracteristica>\n\n# Finalizar característica\ngit flow feature finish <nombre-caracteristica>\n\n# Publicar característica\ngit flow feature publish <nombre-caracteristica>\n\n# Iniciar release\ngit flow release start <version>\n\n# Finalizar release\ngit flow release finish <version>\n\n# Iniciar hotfix\ngit flow hotfix start <version>\n\n# Finalizar hotfix\ngit flow hotfix finish <version>\n```\n\n### Flujo de trabajo sin Git Flow:\n\n![Git Flow Commands](../Img/git-flow-commands-without-flow.png)\n\n```bash\n# Crear rama de característica\ngit checkout develop\ngit checkout -b feature/nueva-caracteristica\n\n# Trabajar en la característica\ngit add .\ngit commit -m \"Agregar nueva característica\"\n\n# Fusionar característica en develop\ngit checkout develop\ngit merge --no-ff feature/nueva-caracteristica\ngit branch -d feature/nueva-caracteristica\n\n# Crear rama de release\ngit checkout develop\ngit checkout -b release/1.0.0\n\n# Finalizar release\ngit checkout master\ngit merge --no-ff release/1.0.0\ngit tag -a 1.0.0 -m \"Versión 1.0.0\"\ngit checkout develop\ngit merge --no-ff release/1.0.0\ngit branch -d release/1.0.0\n```\n\n---\n\n## ⚙️ Archivos de Configuración\n\nGit utiliza archivos de configuración para almacenar preferencias de usuario y repositorio:\n\n### Niveles de configuración:\n\n```bash\n# Sistema (todos los usuarios)\ngit config --system\n\n# Usuario (usuario actual)\ngit config --global\n\n# Repositorio (proyecto específico)\ngit config --local\n```\n\n### Configuraciones comunes:\n\n```bash\n# Identidad del usuario\ngit config --global user.name \"Tu Nombre\"\ngit config --global user.email \"email@ejemplo.com\"\n\n# Editor de texto\ngit config --global core.editor nano\n\n# Herramienta de merge\ngit config --global merge.tool vimdiff\n\n# Colores en la salida\ngit config --global color.ui auto\n\n# Ver configuraciones\ngit config --list\n```\n\n---\n\n## 🔍 Búsqueda\n\n### Buscar en el historial y contenido:\n\n```bash\n# Buscar en mensajes de commit\ngit log --grep=\"palabra-clave\"\n\n# Buscar cambios en el código\ngit log -S \"fragmento de código\"\n\n# Buscar en archivos de trabajo\ngit grep \"patrón\"\n\n# Buscar en commit específico\ngit grep \"patrón\" <hash-commit>\n\n# Buscar ignorando mayúsculas/minúsculas\ngit grep -i \"patrón\"\n\n# Buscar palabras completas\ngit grep -w \"palabra\"\n\n# Mostrar números de línea\ngit grep -n \"patrón\"\n```\n\n---\n\n## 📁 Mover/Renombrar\n\n### Mover y renombrar archivos:\n\n```bash\n# Renombrar archivo\ngit mv archivo_viejo.txt archivo_nuevo.txt\n\n# Mover archivo a carpeta\ngit mv archivo.txt carpeta/\n\n# Renombrar carpeta\ngit mv carpeta_vieja carpeta_nueva\n\n# Proceso de renombrado sin git mv\nmv archivo_viejo.txt archivo_nuevo.txt\ngit add archivo_nuevo.txt\ngit rm archivo_viejo.txt\n\n# Rastrear renombrados en el log\ngit log --follow archivo.txt\n\n# Detectar movimientos\ngit log --stat -M\n```\n\n---\n\n## 💡 Consejos Útiles\n\n### Alias útiles:\n\n```bash\n# Configurar alias útiles\ngit config --global alias.st status\ngit config --global alias.co checkout\ngit config --global alias.br branch\ngit config --global alias.ci commit\ngit config --global alias.unstage 'reset HEAD --'\ngit config --global alias.last 'log -1 HEAD'\ngit config --global alias.visual '!gitk'\n```\n\n### Archivos .gitignore:\n\n```bash\n# Crear archivo .gitignore\necho \"node_modules/\" >> .gitignore\necho \"*.log\" >> .gitignore\necho \".env\" >> .gitignore\n\n# Ignorar archivos ya rastreados\ngit rm --cached <archivo>\necho \"<archivo>\" >> .gitignore\ngit add .gitignore\ngit commit -m \"Agregar archivo a .gitignore\"\n```\n\n---\n\n## 🌍 Otros Idiomas\n\nEsta hoja de referencia está disponible en los siguientes idiomas:\n\n- 🇺🇸 [English](../README.md)\n- 🇸🇦 [العربية](git-cheat-sheet-ar.md)\n- 🇧🇩 [বাংলা](git-cheat-sheet-bn.md)\n- 🇩🇪 [Deutsch](git-cheat-sheet-de.md)\n- 🇬🇷 [Ελληνικά](git-cheat-sheet-el.md)\n- 🇪🇸 **Español** (actual)\n- 🇮🇳 [हिन्दी](git-cheat-sheet-hi.md)\n- 🇰🇷 [한국어](git-cheat-sheet-ko.md)\n- 🇵🇱 [Polski](git-cheat-sheet-pl.md)\n- 🇧🇷 [Português](git-cheat-sheet-pt_BR.md)\n- 🇹🇷 [Türkçe](git-cheat-sheet-tr.md)\n- 🇨🇳 [中文](git-cheat-sheet-zh.md)\n\n---\n\n## 🤝 Contribuir\n\n¡Las contribuciones son bienvenidas! Para ayudar a mejorar este proyecto:\n\n1. **Reportar problemas**: Comparte errores o sugerencias de mejora\n2. **Agregar nuevos idiomas**: Crea traducciones o mejora las existentes\n3. **Mejorar contenido**: Agrega nuevos comandos, ejemplos o explicaciones\n4. **Dar retroalimentación**: Comparte tus experiencias y sugerencias\n\n### Cómo contribuir:\n- [Abrir un issue en GitHub](https://github.com/arslanbilal/git-cheat-sheet/issues)\n- Enviar un pull request\n- Sugerir mejoras de documentación\n\n---\n\n## 📄 Licencia\n\nEste proyecto está licenciado bajo la Licencia MIT. Consulta el archivo [LICENSE](../LICENSE) para más detalles.\n\n---\n\n## 📖 Recursos Adicionales\n\n- [Documentación Oficial de Git](https://git-scm.com/doc)\n- [Tutoriales de Git de Atlassian](https://www.atlassian.com/git/tutorials)\n- [Hoja de Referencia de Git de GitHub](https://education.github.com/git-cheat-sheet-education.pdf)\n- [Tutorial Interactivo de Git](https://learngitbranching.js.org/)\n- [Libro Pro Git (gratuito)](https://git-scm.com/book/es/v2)\n- [Flujos de Trabajo con Git](https://www.atlassian.com/git/tutorials/comparing-workflows)\n\n---\n\n<div align=\"center\">\n  <strong>⭐ ¡Si esta hoja de referencia es útil, dale una estrella!</strong><br>\n  <em>¡Feliz codificación con Git! 🚀</em>\n</div>\n"
  },
  {
    "path": "other-sheets/git-cheat-sheet-hi.md",
    "content": "# Git Cheat Sheet हिन्दी\n\n![Git Logo](../Img/git-logo.png)\n\nसबसे अधिक उपयोग किए जाने वाले Git कमांड का एक त्वरित संदर्भ गाइड, आसान उपयोग के लिए श्रेणियों में व्यवस्थित।\n\n---\n\n## 📖 इस गाइड के बारे में\n\nयह व्यापक Git संदर्भ गाइड उन सभी के लिए एक संपूर्ण संसाधन है जो Git के साथ अपने वर्कफ़्लो को बेहतर बनाना चाहते हैं। Git के साथ अपनी यात्रा शुरू करने वाले शुरुआती लोगों से लेकर अनुभवी डेवलपर्स तक, यह गाइड आपकी विकास यात्रा को तेज़ करने के लिए व्यवस्थित और वर्गीकृत कमांड प्रदान करता है।\n\n### मुख्य विशेषताएं:\n- **व्यवस्थित श्रेणियां**: कमांड स्पष्ट और तर्कसंगत समूहों में व्यवस्थित हैं\n- **व्यावहारिक उदाहरण**: वास्तविक दुनिया के उपयोग के मामलों के साथ\n- **शुरुआती-अनुकूल**: स्पष्ट व्याख्या और सुझावों के साथ\n- **त्वरित संदर्भ**: आवश्यक कमांड तक त्वरित पहुंच\n\n---\n\n## 📑 विषय सूची\n\n- [📖 इस गाइड के बारे में](#इस-गाइड-के-बारे-में)\n- [🔧 प्रारंभिक सेटअप](#प्रारंभिक-सेटअप)\n- [⚙️ कॉन्फ़िगरेशन फ़ाइलें](#कॉन्फ़िगरेशन-फ़ाइलें)\n- [📁 रिपॉजिटरी सेटअप](#रिपॉजिटरी-सेटअप)\n- [📊 स्थिति कमांड](#स्थिति-कमांड)\n- [📝 फ़ाइल प्रबंधन](#फ़ाइल-प्रबंधन)\n- [💾 कमिट](#कमिट)\n- [🌿 ब्रांच](#ब्रांच)\n- [🔀 मर्ज](#मर्ज)\n- [🌐 रिमोट रिपॉजिटरी](#रिमोट-रिपॉजिटरी)\n- [📚 इतिहास और लॉग](#इतिहास-और-लॉग)\n- [🔍 खोज](#खोज)\n- [📁 स्थानांतरित/नाम बदलें](#स्थानांतरितनाम-बदलें)\n- [🏷️ टैग](#टैग)\n- [↩️ परिवर्तन पूर्ववत करना](#परिवर्तन-पूर्ववत-करना)\n- [📦 स्टैश](#स्टैश)\n- [🌊 Git Flow](#git-flow)\n- [💡 उपयोगी सुझाव](#उपयोगी-सुझाव)\n- [🌍 अन्य भाषाएं](#अन्य-भाषाएं)\n- [🤝 योगदान](#योगदान)\n- [📄 लाइसेंस](#लाइसेंस)\n- [📖 अतिरिक्त संसाधन](#अतिरिक्त-संसाधन)\n\n---\n\n## 🔧 प्रारंभिक सेटअप\n\nअपनी व्यक्तिगत जानकारी के साथ Git कॉन्फ़िगर करें:\n\n```bash\n# उपयोगकर्ता नाम सेट करें\ngit config --global user.name \"आपका नाम\"\n\n# ईमेल सेट करें\ngit config --global user.email \"email@example.com\"\n\n# वर्तमान कॉन्फ़िगरेशन देखें\ngit config --list\n\n# डिफ़ॉल्ट एडिटर सेट करें\ngit config --global core.editor \"nano\"\n\n# मर्ज टूल सेट करें\ngit config --global merge.tool vimdiff\n```\n\n---\n\n## ⚙️ कॉन्फ़िगरेशन फ़ाइलें\n\nGit उपयोगकर्ता और रिपॉजिटरी प्राथमिकताएं संग्रहीत करने के लिए कॉन्फ़िगरेशन फ़ाइलों का उपयोग करता है:\n\n### कॉन्फ़िगरेशन स्तर:\n\n```bash\n# सिस्टम (सभी उपयोगकर्ता)\ngit config --system\n\n# उपयोगकर्ता (वर्तमान उपयोगकर्ता)\ngit config --global\n\n# रिपॉजिटरी (विशिष्ट प्रोजेक्ट)\ngit config --local\n```\n\n### सामान्य कॉन्फ़िगरेशन:\n\n```bash\n# उपयोगकर्ता पहचान\ngit config --global user.name \"आपका नाम\"\ngit config --global user.email \"email@example.com\"\n\n# टेक्स्ट एडिटर\ngit config --global core.editor nano\n\n# मर्ज टूल\ngit config --global merge.tool vimdiff\n\n# आउटपुट में रंग\ngit config --global color.ui auto\n\n# कॉन्फ़िगरेशन देखें\ngit config --list\n```\n\n---\n\n## 📁 रिपॉजिटरी सेटअप\n\n### नई रिपॉजिटरी बनाएं:\n\n```bash\n# नई Git रिपॉजिटरी बनाएं\ngit init\n\n# मौजूदा रिपॉजिटरी को क्लोन करें\ngit clone <रिपॉजिटरी-url>\n\n# विशिष्ट डायरेक्टरी में क्लोन करें\ngit clone <रिपॉजिटरी-url> <डायरेक्टरी-नाम>\n```\n\n---\n\n## 📊 स्थिति कमांड\n\n### अपनी रिपॉजिटरी की स्थिति जांचें:\n\n```bash\n# रिपॉजिटरी की वर्तमान स्थिति दिखाएं\ngit status\n\n# संक्षिप्त प्रारूप में स्थिति दिखाएं\ngit status -s\n\n# अनट्रैक की गई फ़ाइलों को अनदेखा करके स्थिति दिखाएं\ngit status --ignored\n\n# संशोधित फ़ाइलों में अंतर दिखाएं\ngit diff\n\n# स्टेजिंग क्षेत्र में अंतर दिखाएं\ngit diff --staged\n\n# ब्रांच के बीच अंतर दिखाएं\ngit diff <ब्रांच1> <ब्रांच2>\n```\n\n---\n\n## 📝 फ़ाइल प्रबंधन\n\n### फ़ाइलें जोड़ना और हटाना:\n\n```bash\n# विशिष्ट फ़ाइल को स्टेजिंग क्षेत्र में जोड़ें\ngit add <फ़ाइल>\n\n# सभी संशोधित फ़ाइलें जोड़ें\ngit add .\n\n# विशिष्ट प्रकार की सभी फ़ाइलें जोड़ें\ngit add *.txt\n\n# इंटरैक्टिव रूप से जोड़ें\ngit add -i\n\n# रिपॉजिटरी और कार्य डायरेक्टरी से फ़ाइल हटाएं\ngit rm <फ़ाइल>\n\n# केवल रिपॉजिटरी से फ़ाइल हटाएं (डायरेक्टरी में रखें)\ngit rm --cached <फ़ाइल>\n\n# फ़ाइल स्थानांतरित/नाम बदलें\ngit mv <स्रोत-फ़ाइल> <गंतव्य-फ़ाइल>\n```\n\n---\n\n## 💾 कमिट\n\n### रिपॉजिटरी में परिवर्तन सहेजें:\n\n```bash\n# संदेश के साथ कमिट करें\ngit commit -m \"कमिट संदेश\"\n\n# सभी संशोधित फ़ाइलें जोड़कर कमिट करें\ngit commit -am \"कमिट संदेश\"\n\n# अंतिम कमिट को संशोधित करें\ngit commit --amend\n\n# खाली कमिट करें (CI/CD ट्रिगर के लिए उपयोगी)\ngit commit --allow-empty -m \"CI ट्रिगर\"\n\n# विस्तृत संदेश के साथ कमिट करें (एडिटर खुलेगा)\ngit commit\n```\n\n---\n\n## 🌿 ब्रांच\n\n### ब्रांच के साथ काम करना:\n\n```bash\n# सभी ब्रांच दिखाएं\ngit branch\n\n# रिमोट ब्रांच दिखाएं\ngit branch -r\n\n# सभी ब्रांच दिखाएं (स्थानीय और रिमोट)\ngit branch -a\n\n# नई ब्रांच बनाएं\ngit branch <ब्रांच-नाम>\n\n# ब्रांच पर स्विच करें\ngit checkout <ब्रांच-नाम>\n\n# नई ब्रांच बनाकर स्विच करें\ngit checkout -b <ब्रांच-नाम>\n\n# विशिष्ट कमिट से ब्रांच बनाएं\ngit checkout -b <ब्रांच-नाम> <कमिट-हैश>\n\n# ब्रांच हटाएं\ngit branch -d <ब्रांच-नाम>\n\n# जबरदस्ती ब्रांच हटाएं\ngit branch -D <ब्रांच-नाम>\n\n# वर्तमान ब्रांच का नाम बदलें\ngit branch -m <नया-नाम>\n\n# विशिष्ट ब्रांच का नाम बदलें\ngit branch -m <पुराना-नाम> <नया-नाम>\n```\n\n---\n\n## 🔀 मर्ज\n\n### ब्रांच के बीच परिवर्तन मर्ज करना:\n\n```bash\n# वर्तमान ब्रांच में अन्य ब्रांच मर्ज करें\ngit merge <ब्रांच-नाम>\n\n# फास्ट-फॉरवर्ड के बिना मर्ज करें (मर्ज कमिट बनाएं)\ngit merge --no-ff <ब्रांच-नाम>\n\n# केवल फास्ट-फॉरवर्ड होने पर मर्ज करें\ngit merge --ff-only <ब्रांच-नाम>\n\n# चालू मर्ज को रद्द करें\ngit merge --abort\n\n# संघर्ष समाधान के बाद मर्ज जारी रखें\ngit merge --continue\n```\n\n---\n\n## 🌐 रिमोट रिपॉजिटरी\n\n### रिमोट रिपॉजिटरी प्रबंधन:\n\n```bash\n# रिमोट रिपॉजिटरी दिखाएं\ngit remote\n\n# URL के साथ रिमोट रिपॉजिटरी दिखाएं\ngit remote -v\n\n# रिमोट रिपॉजिटरी जोड़ें\ngit remote add <नाम> <url>\n\n# रिमोट रिपॉजिटरी URL बदलें\ngit remote set-url <नाम> <नया-url>\n\n# रिमोट रिपॉजिटरी हटाएं\ngit remote remove <नाम>\n\n# रिमोट रिपॉजिटरी में परिवर्तन पुश करें\ngit push <रिमोट> <ब्रांच>\n\n# ब्रांच पुश करके ट्रैकिंग सेट करें\ngit push -u <रिमोट> <ब्रांच>\n\n# सभी ब्रांच पुश करें\ngit push --all\n\n# टैग पुश करें\ngit push --tags\n\n# रिमोट रिपॉजिटरी से परिवर्तन डाउनलोड करें\ngit pull <रिमोट> <ब्रांच>\n\n# मर्ज के बिना परिवर्तन डाउनलोड करें\ngit fetch <रिमोट>\n\n# सभी रिमोट ब्रांच डाउनलोड करें\ngit fetch --all\n```\n\n---\n\n## 📚 इतिहास और लॉग\n\n### कमिट इतिहास का अन्वेषण:\n\n```bash\n# कमिट इतिहास दिखाएं\ngit log\n\n# प्रति कमिट एक लाइन में इतिहास दिखाएं\ngit log --oneline\n\n# ग्राफ के साथ इतिहास दिखाएं\ngit log --graph\n\n# विशिष्ट फ़ाइल का इतिहास दिखाएं\ngit log <फ़ाइल>\n\n# कमिट आंकड़े दिखाएं\ngit log --stat\n\n# प्रत्येक कमिट में परिवर्तन दिखाएं\ngit log -p\n\n# अंतिम N कमिट दिखाएं\ngit log -n <संख्या>\n\n# तारीखों के बीच कमिट दिखाएं\ngit log --since=\"2023-01-01\" --until=\"2023-12-31\"\n\n# लेखक के अनुसार कमिट दिखाएं\ngit log --author=\"लेखक का नाम\"\n\n# कमिट संदेश में खोजें\ngit log --grep=\"कीवर्ड\"\n```\n\n---\n\n## 🔍 खोज\n\n### इतिहास और सामग्री में खोज:\n\n```bash\n# कमिट संदेशों में खोजें\ngit log --grep=\"कीवर्ड\"\n\n# कोड में परिवर्तनों को खोजें\ngit log -S \"कोड का हिस्सा\"\n\n# कार्य फ़ाइलों में खोजें\ngit grep \"पैटर्न\"\n\n# विशिष्ट कमिट में खोजें\ngit grep \"पैटर्न\" <कमिट-हैश>\n\n# केस को अनदेखा करके खोजें\ngit grep -i \"पैटर्न\"\n\n# पूरे शब्द खोजें\ngit grep -w \"शब्द\"\n\n# लाइन नंबर दिखाएं\ngit grep -n \"पैटर्न\"\n```\n\n---\n\n## 📁 स्थानांतरित/नाम बदलें\n\n### फ़ाइल स्थानांतरित और नाम बदलना:\n\n```bash\n# फ़ाइल का नाम बदलें\ngit mv पुराना_नाम.txt नया_नाम.txt\n\n# फ़ाइल को फ़ोल्डर में स्थानांतरित करें\ngit mv फ़ाइल.txt फ़ोल्डर/\n\n# फ़ोल्डर का नाम बदलें\ngit mv पुराना_फ़ोल्डर नया_फ़ोल्डर\n\n# git mv के बिना नाम बदलने की प्रक्रिया\nmv पुराना_नाम.txt नया_नाम.txt\ngit add नया_नाम.txt\ngit rm पुराना_नाम.txt\n\n# लॉग में नाम बदलाव खोजें\ngit log --follow फ़ाइल.txt\n\n# स्थानांतरण ट्रैक करें\ngit log --stat -M\n```\n\n---\n\n## 🏷️ टैग\n\n### संस्करण टैग प्रबंधन:\n\n```bash\n# सभी टैग दिखाएं\ngit tag\n\n# हल्का टैग बनाएं\ngit tag <टैग-नाम>\n\n# एनोटेटेड टैग बनाएं\ngit tag -a <टैग-नाम> -m \"टैग संदेश\"\n\n# विशिष्ट कमिट पर टैग बनाएं\ngit tag -a <टैग-नाम> <कमिट-हैश>\n\n# टैग की जानकारी दिखाएं\ngit show <टैग-नाम>\n\n# स्थानीय टैग हटाएं\ngit tag -d <टैग-नाम>\n\n# रिमोट टैग हटाएं\ngit push --delete <रिमोट> <टैग-नाम>\n\n# विशिष्ट टैग पुश करें\ngit push <रिमोट> <टैग-नाम>\n\n# सभी टैग पुश करें\ngit push <रिमोट> --tags\n```\n\n---\n\n## ↩️ परिवर्तन पूर्ववत करना\n\n### संशोधन वापस करना:\n\n```bash\n# विशिष्ट फ़ाइल में परिवर्तन रद्द करें\ngit checkout <फ़ाइल>\n\n# सभी गैर-कमिट किए गए परिवर्तन रद्द करें\ngit checkout .\n\n# विशिष्ट संस्करण में फ़ाइल वापस करें\ngit checkout <कमिट-हैश> <फ़ाइल>\n\n# स्टेजिंग क्षेत्र से फ़ाइल हटाएं\ngit reset <फ़ाइल>\n\n# स्टेजिंग क्षेत्र से सभी फ़ाइलें हटाएं\ngit reset\n\n# पिछले कमिट पर वापस जाएं (परिवर्तन रखें)\ngit reset --soft HEAD~1\n\n# पिछले कमिट पर वापस जाएं (परिवर्तन रद्द करें)\ngit reset --hard HEAD~1\n\n# विशिष्ट कमिट पर वापस जाएं\ngit reset --hard <कमिट-हैश>\n\n# दूसरे कमिट को रद्द करने वाला नया कमिट बनाएं\ngit revert <कमिट-हैश>\n\n# कई कमिट रद्द करें\ngit revert <हैश-से>..<हैश-तक>\n```\n\n---\n\n## 📦 स्टैश\n\n### अस्थायी रूप से काम सहेजना:\n\n```bash\n# वर्तमान परिवर्तन स्टैश में सहेजें\ngit stash\n\n# वर्णनात्मक संदेश के साथ सहेजें\ngit stash save \"वर्णनात्मक संदेश\"\n\n# सभी स्टैश दिखाएं\ngit stash list\n\n# अंतिम स्टैश लागू करें\ngit stash apply\n\n# विशिष्ट स्टैश लागू करें\ngit stash apply stash@{0}\n\n# अंतिम स्टैश लागू करके हटाएं\ngit stash pop\n\n# विशिष्ट स्टैश हटाएं\ngit stash drop stash@{0}\n\n# सभी स्टैश हटाएं\ngit stash clear\n\n# स्टैश में परिवर्तन दिखाएं\ngit stash show stash@{0}\n\n# स्टैश से ब्रांच बनाएं\ngit stash branch <ब्रांच-नाम> stash@{0}\n```\n\n---\n\n## 🌊 Git Flow\n\nGit Flow एक ब्रांचिंग मॉडल है जो प्रोजेक्ट रिलीज के चारों ओर डिज़ाइन किए गए सख्त वर्कफ़्लो को परिभाषित करता है।\n\n### मुख्य ब्रांच:\n- **master/main**: प्रोडक्शन कोड\n- **develop**: मुख्य डेवलपमेंट ब्रांच\n\n### सहायक ब्रांच:\n- **feature**: नई सुविधाओं के लिए\n- **release**: नए संस्करणों की तैयारी के लिए\n- **hotfix**: प्रोडक्शन में तत्काल सुधार के लिए\n\n### Git Flow कमांड:\n\n```bash\n# git flow शुरू करें\ngit flow init\n\n# नई सुविधा शुरू करें\ngit flow feature start <सुविधा-नाम>\n\n# सुविधा समाप्त करें\ngit flow feature finish <सुविधा-नाम>\n\n# सुविधा प्रकाशित करें\ngit flow feature publish <सुविधा-नाम>\n\n# रिलीज शुरू करें\ngit flow release start <संस्करण>\n\n# रिलीज समाप्त करें\ngit flow release finish <संस्करण>\n\n# हॉटफिक्स शुरू करें\ngit flow hotfix start <संस्करण>\n\n# हॉटफिक्स समाप्त करें\ngit flow hotfix finish <संस्करण>\n```\n\n### Git Flow के बिना वर्कफ़्लो:\n\n![Git Flow Commands](../Img/git-flow-commands-without-flow.png)\n\n```bash\n# सुविधा ब्रांच बनाएं\ngit checkout develop\ngit checkout -b feature/नई-सुविधा\n\n# सुविधा पर काम करें\ngit add .\ngit commit -m \"नई सुविधा जोड़ें\"\n\n# develop में सुविधा मर्ज करें\ngit checkout develop\ngit merge --no-ff feature/नई-सुविधा\ngit branch -d feature/नई-सुविधा\n\n# रिलीज ब्रांच बनाएं\ngit checkout develop\ngit checkout -b release/1.0.0\n\n# रिलीज पूरा करें\ngit checkout master\ngit merge --no-ff release/1.0.0\ngit tag -a 1.0.0 -m \"संस्करण 1.0.0\"\ngit checkout develop\ngit merge --no-ff release/1.0.0\ngit branch -d release/1.0.0\n```\n\n---\n\n## 💡 उपयोगी सुझाव\n\n### उपयोगी उपनाम:\n\n```bash\n# उपयोगी उपनाम सेट करें\ngit config --global alias.st status\ngit config --global alias.co checkout\ngit config --global alias.br branch\ngit config --global alias.ci commit\ngit config --global alias.unstage 'reset HEAD --'\ngit config --global alias.last 'log -1 HEAD'\ngit config --global alias.visual '!gitk'\n```\n\n### .gitignore फ़ाइलें:\n\n```bash\n# .gitignore फ़ाइल बनाएं\necho \"node_modules/\" >> .gitignore\necho \"*.log\" >> .gitignore\necho \".env\" >> .gitignore\n\n# पहले से ट्रैक की गई फ़ाइलों को अनदेखा करें\ngit rm --cached <फ़ाइल>\necho \"<फ़ाइल>\" >> .gitignore\ngit add .gitignore\ngit commit -m \".gitignore में फ़ाइल जोड़ें\"\n```\n\n---\n\n## 🌍 अन्य भाषाएं\n\nयह Git चीट शीट निम्नलिखित भाषाओं में उपलब्ध है:\n\n- 🇺🇸 [English](../README.md)\n- 🇸🇦 [العربية](git-cheat-sheet-ar.md)\n- 🇧🇩 [বাংলা](git-cheat-sheet-bn.md)\n- 🇩🇪 [Deutsch](git-cheat-sheet-de.md)\n- 🇬🇷 [Ελληνικά](git-cheat-sheet-el.md)\n- 🇪🇸 [Español](git-cheat-sheet-es.md)\n- 🇮🇳 **हिन्दी** (वर्तमान)\n- 🇰🇷 [한국어](git-cheat-sheet-ko.md)\n- 🇵🇱 [Polski](git-cheat-sheet-pl.md)\n- 🇧🇷 [Português](git-cheat-sheet-pt_BR.md)\n- 🇹🇷 [Türkçe](git-cheat-sheet-tr.md)\n- 🇨🇳 [中文](git-cheat-sheet-zh.md)\n\n---\n\n## 🤝 योगदान\n\nहम योगदान का स्वागत करते हैं! इस परियोजना को बेहतर बनाने में मदद करने के लिए:\n\n1. **मुद्दे रिपोर्ट करें**: गलतियां या सुधार के सुझाव साझा करें\n2. **नई भाषाएं जोड़ें**: अनुवाद बनाएं या मौजूदा को बेहतर बनाएं\n3. **सामग्री सुधारें**: नए कमांड, उदाहरण या व्याख्याएं जोड़ें\n4. **प्रतिक्रिया दें**: आपके अनुभव और सुझाव साझा करें\n\n### योगदान करने के लिए:\n- [GitHub पर इश्यू खोलें](https://github.com/arslanbilal/git-cheat-sheet/issues)\n- Pull request सबमिट करें\n- दस्तावेज़ीकरण में सुधार सुझाएं\n\n---\n\n## 📄 लाइसेंस\n\nयह परियोजना MIT लाइसेंस के तहत लाइसेंसीकृत है। अधिक विवरण के लिए [LICENSE](../LICENSE) फ़ाइल देखें।\n\n---\n\n## 📖 अतिरिक्त संसाधन\n\n- [Git आधिकारिक दस्तावेज़ीकरण](https://git-scm.com/doc)\n- [Atlassian Git ट्यूटोरियल](https://www.atlassian.com/git/tutorials)\n- [GitHub Git चीट शीट](https://education.github.com/git-cheat-sheet-education.pdf)\n- [इंटरैक्टिव Git ट्यूटोरियल](https://learngitbranching.js.org/)\n- [Pro Git पुस्तक (निःशुल्क)](https://git-scm.com/book/hi/v2)\n- [Git वर्कफ़्लो](https://www.atlassian.com/git/tutorials/comparing-workflows)\n\n---\n\n<div align=\"center\">\n  <strong>⭐ अगर यह चीट शीट उपयोगी है तो इसे स्टार करें!</strong><br>\n  <em>Git के साथ हैप्पी कोडिंग! 🚀</em>\n</div>\n"
  },
  {
    "path": "other-sheets/git-cheat-sheet-ko.md",
    "content": "# Git Cheat Sheet 한국어\n\n![Git Logo](../Img/git-logo.png)\n\n가장 많이 사용되는 Git 명령어들의 빠른 참조 가이드, 쉬운 사용을 위해 카테고리별로 정리되었습니다.\n\n## 📖 소개\n\n이 Git 치트 시트는 개발자들이 가장 자주 사용하는 Git 명령어들을 빠르게 찾아볼 수 있도록 구성되었습니다. 초보자부터 숙련된 개발자까지, 모든 수준의 사용자가 Git 워크플로우를 효율적으로 관리할 수 있도록 도와줍니다.\n\n---\n\n## 📖 이 가이드에 대해\n\n이 포괄적인 Git 참조 가이드는 Git 워크플로우를 개선하고자 하는 모든 사람들을 위한 완전한 리소스입니다. Git 여정을 시작하는 초보자부터 숙련된 개발자까지, 이 가이드는 개발 과정을 가속화하기 위해 체계적이고 분류된 명령어를 제공합니다.\n\n### 주요 특징:\n- **체계적인 카테고리**: 명령어들이 명확하고 논리적인 그룹으로 정리됨\n- **실용적인 예제**: 실제 사용 사례와 함께 제공\n- **초보자 친화적**: 명확한 설명과 팁 포함\n- **빠른 참조**: 필수 명령어에 대한 빠른 접근\n\n---\n\n## 📑 목차\n\n- [📖 이 가이드에 대해](#이-가이드에-대해)\n- [🔧 초기 설정](#초기-설정)\n- [⚙️ 설정 파일](#설정-파일)\n- [📁 저장소 설정](#저장소-설정)\n- [📊 상태 명령어](#상태-명령어)\n- [📝 파일 관리](#파일-관리)\n- [💾 커밋](#커밋)\n- [🌿 브랜치](#브랜치)\n- [🔀 머지](#머지)\n- [🌐 원격 저장소](#원격-저장소)\n- [📚 히스토리와 로그](#히스토리와-로그)\n- [🔍 검색](#검색)\n- [📁 이동/이름 변경](#이동이름-변경)\n- [🏷️ 태그](#태그)\n- [↩️ 변경사항 되돌리기](#변경사항-되돌리기)\n- [📦 스태시](#스태시)\n- [🌊 Git Flow](#git-flow)\n- [💡 유용한 팁](#유용한-팁)\n- [🌍 다른 언어](#다른-언어)\n- [🤝 기여하기](#기여하기)\n- [📄 라이센스](#라이센스)\n- [📖 추가 리소스](#추가-리소스)\n\n---\n\n## 🔧 초기 설정\n\n개인 정보로 Git을 설정하세요:\n\n```bash\n# 사용자 이름 설정\ngit config --global user.name \"당신의 이름\"\n\n# 이메일 설정\ngit config --global user.email \"email@example.com\"\n\n# 현재 설정 보기\ngit config --list\n\n# 기본 에디터 설정\ngit config --global core.editor \"nano\"\n\n# 머지 도구 설정\ngit config --global merge.tool vimdiff\n```\n\n---\n\n## ⚙️ 설정 파일\n\nGit은 여러 레벨에서 설정을 관리할 수 있습니다:\n\n### 전역 설정 파일\n```bash\n# 전역 설정 파일 경로\n~/.gitconfig\n\n# 전역 설정 편집\ngit config --global --edit\n```\n\n### 저장소별 설정 파일\n```bash\n# 저장소별 설정 파일 경로\n.git/config\n\n# 저장소별 설정 편집\ngit config --edit\n```\n\n### 시스템 전체 설정\n```bash\n# 시스템 설정 파일 (관리자 권한 필요)\n/etc/gitconfig\n\n# 시스템 설정 편집\ngit config --system --edit\n```\n\n### 유용한 설정들\n```bash\n# 컬러 출력 활성화\ngit config --global color.ui true\n\n# 기본 브랜치명 설정\ngit config --global init.defaultBranch main\n\n# 줄 바꿈 처리 (macOS/Linux)\ngit config --global core.autocrlf input\n\n# 줄 바꿈 처리 (Windows)\ngit config --global core.autocrlf true\n```\n\n---\n\n## 📁 저장소 설정\n\n### 새 저장소 만들기:\n\n```bash\n# 새 Git 저장소 생성\ngit init\n\n# 기존 저장소 클론\ngit clone <저장소-url>\n\n# 특정 디렉토리에 클론\ngit clone <저장소-url> <디렉토리-이름>\n```\n\n---\n\n## 📊 상태 명령어\n\n### 저장소 상태 확인:\n\n```bash\n# 저장소의 현재 상태 보기\ngit status\n\n# 짧은 형식으로 상태 보기\ngit status -s\n\n# 추적되지 않는 파일을 무시하고 상태 보기\ngit status --ignored\n\n# 수정된 파일의 차이점 보기\ngit diff\n\n# 스테이징 영역의 차이점 보기\ngit diff --staged\n\n# 브랜치 간 차이점 보기\ngit diff <브랜치1> <브랜치2>\n```\n\n---\n\n## 📝 파일 관리\n\n### 파일 추가 및 제거:\n\n```bash\n# 특정 파일을 스테이징 영역에 추가\ngit add <파일>\n\n# 모든 수정된 파일 추가\ngit add .\n\n# 특정 타입의 모든 파일 추가\ngit add *.txt\n\n# 대화형으로 추가\ngit add -i\n\n# 저장소와 작업 디렉토리에서 파일 제거\ngit rm <파일>\n\n# 저장소에서만 파일 제거 (디렉토리에는 유지)\ngit rm --cached <파일>\n\n# 파일 이동/이름 변경\ngit mv <소스-파일> <대상-파일>\n```\n\n---\n\n## 💾 커밋\n\n### 저장소에 변경사항 저장:\n\n```bash\n# 메시지와 함께 커밋\ngit commit -m \"커밋 메시지\"\n\n# 모든 수정된 파일을 추가하고 커밋\ngit commit -am \"커밋 메시지\"\n\n# 마지막 커밋 수정\ngit commit --amend\n\n# 빈 커밋 (CI/CD 트리거에 유용)\ngit commit --allow-empty -m \"CI 트리거\"\n\n# 상세한 메시지로 커밋 (에디터 열림)\ngit commit\n```\n\n---\n\n## 🌿 브랜치\n\n### 브랜치 작업:\n\n```bash\n# 모든 브랜치 보기\ngit branch\n\n# 원격 브랜치 보기\ngit branch -r\n\n# 모든 브랜치 보기 (로컬과 원격)\ngit branch -a\n\n# 새 브랜치 생성\ngit branch <브랜치-이름>\n\n# 브랜치로 전환\ngit checkout <브랜치-이름>\n\n# 새 브랜치 생성하고 전환\ngit checkout -b <브랜치-이름>\n\n# 특정 커밋에서 브랜치 생성\ngit checkout -b <브랜치-이름> <커밋-해시>\n\n# 브랜치 삭제\ngit branch -d <브랜치-이름>\n\n# 강제로 브랜치 삭제\ngit branch -D <브랜치-이름>\n\n# 현재 브랜치 이름 변경\ngit branch -m <새-이름>\n\n# 특정 브랜치 이름 변경\ngit branch -m <옛-이름> <새-이름>\n```\n\n---\n\n## 🔀 머지\n\n### 브랜치 간 변경사항 머지:\n\n```bash\n# 현재 브랜치에 다른 브랜치 머지\ngit merge <브랜치-이름>\n\n# 패스트-포워드 없이 머지 (머지 커밋 생성)\ngit merge --no-ff <브랜치-이름>\n\n# 패스트-포워드일 때만 머지\ngit merge --ff-only <브랜치-이름>\n\n# 진행 중인 머지 취소\ngit merge --abort\n\n# 충돌 해결 후 머지 계속\ngit merge --continue\n```\n\n---\n\n## 🌐 원격 저장소\n\n### 원격 저장소 관리:\n\n```bash\n# 원격 저장소 보기\ngit remote\n\n# URL과 함께 원격 저장소 보기\ngit remote -v\n\n# 원격 저장소 추가\ngit remote add <이름> <url>\n\n# 원격 저장소 URL 변경\ngit remote set-url <이름> <새-url>\n\n# 원격 저장소 제거\ngit remote remove <이름>\n\n# 원격 저장소에 변경사항 푸시\ngit push <원격> <브랜치>\n\n# 브랜치 푸시하고 추적 설정\ngit push -u <원격> <브랜치>\n\n# 모든 브랜치 푸시\ngit push --all\n\n# 태그 푸시\ngit push --tags\n\n# 원격 저장소에서 변경사항 다운로드\ngit pull <원격> <브랜치>\n\n# 머지 없이 변경사항 다운로드\ngit fetch <원격>\n\n# 모든 원격 브랜치 다운로드\ngit fetch --all\n```\n\n---\n\n## 📚 히스토리와 로그\n\n### 커밋 히스토리 탐색:\n\n```bash\n# 커밋 히스토리 보기\ngit log\n\n# 커밋당 한 줄로 히스토리 보기\ngit log --oneline\n\n# 그래프와 함께 히스토리 보기\ngit log --graph\n\n# 특정 파일의 히스토리 보기\ngit log <파일>\n\n# 커밋 통계 보기\ngit log --stat\n\n# 각 커밋의 변경사항 보기\ngit log -p\n\n# 마지막 N개 커밋 보기\ngit log -n <숫자>\n\n# 날짜 범위 내 커밋 보기\ngit log --since=\"2023-01-01\" --until=\"2023-12-31\"\n\n# 작성자별 커밋 보기\ngit log --author=\"작성자 이름\"\n\n# 커밋 메시지에서 검색\ngit log --grep=\"키워드\"\n```\n\n---\n\n## 🔍 검색\n\n### 파일과 내용 검색:\n\n```bash\n# 파일 내용에서 텍스트 검색\ngit grep \"검색어\"\n\n# 특정 커밋에서 검색\ngit grep \"검색어\" HEAD~3\n\n# 대소문자 구분 없이 검색\ngit grep -i \"검색어\"\n\n# 정확한 단어만 검색\ngit grep -w \"검색어\"\n\n# 줄 번호와 함께 검색\ngit grep -n \"검색어\"\n\n# 매칭된 파일 이름만 표시\ngit grep -l \"검색어\"\n\n# 로그에서 특정 텍스트 변경사항 검색\ngit log -S \"검색어\"\n\n# 정규표현식으로 로그 검색\ngit log --grep=\"패턴\" --perl-regexp\n\n# 파일명 검색\ngit ls-files | grep \"패턴\"\n```\n\n---\n\n## 🏷️ 태그\n\n### 버전 태그 관리:\n\n```bash\n# 모든 태그 보기\ngit tag\n\n# 가벼운 태그 생성\ngit tag <태그-이름>\n\n# 주석이 달린 태그 생성\ngit tag -a <태그-이름> -m \"태그 메시지\"\n\n# 특정 커밋에 태그 생성\ngit tag -a <태그-이름> <커밋-해시>\n\n# 태그 정보 보기\ngit show <태그-이름>\n\n# 로컬 태그 삭제\ngit tag -d <태그-이름>\n\n# 원격 태그 삭제\ngit push --delete <원격> <태그-이름>\n\n# 특정 태그 푸시\ngit push <원격> <태그-이름>\n\n# 모든 태그 푸시\ngit push <원격> --tags\n```\n\n---\n\n## 📁 이동/이름 변경\n\n### 파일과 디렉토리 관리:\n\n```bash\n# 파일 이동/이름 변경\ngit mv <기존-파일> <새-파일>\n\n# 디렉토리 이름 변경\ngit mv <기존-디렉토리> <새-디렉토리>\n\n# 여러 파일을 디렉토리로 이동\ngit mv file1.txt file2.txt directory/\n\n# 대소문자만 변경 (대소문자 구분 파일시스템)\ngit mv filename.txt temp.txt\ngit mv temp.txt FileName.txt\n\n# 파일 이동 후 히스토리 확인\ngit log --follow <파일>\n\n# 이동된 파일 추적\ngit log --stat -M\n\n# 이름 변경 감지 임계값 설정\ngit log --follow -M90% <파일>\n```\n\n---\n\n## ↩️ 변경사항 되돌리기\n\n### 수정사항 되돌리기:\n\n```bash\n# 특정 파일의 변경사항 취소\ngit checkout <파일>\n\n# 모든 커밋되지 않은 변경사항 취소\ngit checkout .\n\n# 특정 버전으로 파일 되돌리기\ngit checkout <커밋-해시> <파일>\n\n# 스테이징 영역에서 파일 제거\ngit reset <파일>\n\n# 스테이징 영역에서 모든 파일 제거\ngit reset\n\n# 이전 커밋으로 돌아가기 (변경사항 유지)\ngit reset --soft HEAD~1\n\n# 이전 커밋으로 돌아가기 (변경사항 취소)\ngit reset --hard HEAD~1\n\n# 특정 커밋으로 돌아가기\ngit reset --hard <커밋-해시>\n\n# 다른 커밋을 취소하는 새 커밋 생성\ngit revert <커밋-해시>\n\n# 여러 커밋 되돌리기\ngit revert <해시-시작>..<해시-끝>\n```\n\n---\n\n## 📦 스태시\n\n### 임시로 작업 저장:\n\n```bash\n# 현재 변경사항을 스태시에 저장\ngit stash\n\n# 설명적 메시지와 함께 저장\ngit stash save \"설명적 메시지\"\n\n# 모든 스태시 보기\ngit stash list\n\n# 마지막 스태시 적용\ngit stash apply\n\n# 특정 스태시 적용\ngit stash apply stash@{0}\n\n# 마지막 스태시 적용하고 삭제\ngit stash pop\n\n# 특정 스태시 삭제\ngit stash drop stash@{0}\n\n# 모든 스태시 삭제\ngit stash clear\n\n# 스태시의 변경사항 보기\ngit stash show stash@{0}\n\n# 스태시에서 브랜치 생성\ngit stash branch <브랜치-이름> stash@{0}\n```\n\n---\n\n## 🌊 Git Flow\n\nGit Flow는 프로젝트 릴리스를 중심으로 설계된 엄격한 워크플로우를 정의하는 브랜칭 모델입니다.\n\n### 주요 브랜치:\n- **master/main**: 프로덕션 코드\n- **develop**: 주요 개발 브랜치\n\n### 지원 브랜치:\n- **feature**: 새로운 기능을 위한\n- **release**: 새 버전 준비를 위한\n- **hotfix**: 프로덕션 긴급 수정을 위한\n\n### Git Flow 명령어:\n\n```bash\n# git flow 초기화\ngit flow init\n\n# 새 기능 시작\ngit flow feature start <기능-이름>\n\n# 기능 완료\ngit flow feature finish <기능-이름>\n\n# 기능 발행\ngit flow feature publish <기능-이름>\n\n# 릴리스 시작\ngit flow release start <버전>\n\n# 릴리스 완료\ngit flow release finish <버전>\n\n# 핫픽스 시작\ngit flow hotfix start <버전>\n\n# 핫픽스 완료\ngit flow hotfix finish <버전>\n```\n\n### Git Flow 없는 워크플로우:\n\n![Git Flow Commands](../Img/git-flow-commands-without-flow.png)\n\n```bash\n# 기능 브랜치 생성\ngit checkout develop\ngit checkout -b feature/새-기능\n\n# 기능 작업\ngit add .\ngit commit -m \"새 기능 추가\"\n\n# develop에 기능 머지\ngit checkout develop\ngit merge --no-ff feature/새-기능\ngit branch -d feature/새-기능\n\n# 릴리스 브랜치 생성\ngit checkout develop\ngit checkout -b release/1.0.0\n\n# 릴리스 완료\ngit checkout master\ngit merge --no-ff release/1.0.0\ngit tag -a 1.0.0 -m \"버전 1.0.0\"\ngit checkout develop\ngit merge --no-ff release/1.0.0\ngit branch -d release/1.0.0\n```\n\n---\n\n## 💡 유용한 팁\n\n### 유용한 별칭:\n\n```bash\n# 유용한 별칭 설정\ngit config --global alias.st status\ngit config --global alias.co checkout\ngit config --global alias.br branch\ngit config --global alias.ci commit\ngit config --global alias.unstage 'reset HEAD --'\ngit config --global alias.last 'log -1 HEAD'\ngit config --global alias.visual '!gitk'\n```\n\n### .gitignore 파일:\n\n```bash\n# .gitignore 파일 생성\necho \"node_modules/\" >> .gitignore\necho \"*.log\" >> .gitignore\necho \".env\" >> .gitignore\n\n# 이미 추적된 파일 무시하기\ngit rm --cached <파일>\necho \"<파일>\" >> .gitignore\ngit add .gitignore\ngit commit -m \".gitignore에 파일 추가\"\n```\n\n---\n\n## 📖 추가 리소스\n\n### 공식 문서 및 가이드\n- [Git 공식 문서](https://git-scm.com/doc)\n- [Pro Git 책 (무료)](https://git-scm.com/book)\n- [Git 참조 매뉴얼](https://git-scm.com/docs)\n- [Git 튜토리얼](https://git-scm.com/docs/gittutorial)\n\n### 온라인 학습 자료\n- [GitHub Git 핸드북](https://guides.github.com/introduction/git-handbook/)\n- [Atlassian Git 튜토리얼](https://www.atlassian.com/git/tutorials)\n- [Learn Git Branching (대화형)](https://learngitbranching.js.org/)\n- [Git Immersion](http://gitimmersion.com/)\n\n### GUI 도구\n- [GitHub Desktop](https://desktop.github.com/)\n- [GitKraken](https://www.gitkraken.com/)\n- [SourceTree](https://www.sourcetreeapp.com/)\n- [Tower](https://www.git-tower.com/)\n\n### 고급 주제\n- [Git Hooks](https://git-scm.com/book/en/v2/Customizing-Git-Git-Hooks)\n- [Git Workflows](https://www.atlassian.com/git/tutorials/comparing-workflows)\n- [Git 내부 구조](https://git-scm.com/book/en/v2/Git-Internals-Plumbing-and-Porcelain)\n\n---\n\n## 🌍 다른 언어\n\n이 Git Cheat Sheet는 다음 언어로 제공됩니다:\n\n- 🇺🇸 [English](../README.md)\n- 🇸🇦 [العربية](git-cheat-sheet-ar.md)\n- 🇧🇩 [বাংলা](git-cheat-sheet-bn.md)\n- 🇩🇪 [Deutsch](git-cheat-sheet-de.md)\n- 🇬🇷 [Ελληνικά](git-cheat-sheet-el.md)\n- 🇪🇸 [Español](git-cheat-sheet-es.md)\n- 🇮🇳 [हिन्दी](git-cheat-sheet-hi.md)\n- 🇰🇷 **한국어** (현재)\n- 🇵🇱 [Polski](git-cheat-sheet-pl.md)\n- 🇧🇷 [Português](git-cheat-sheet-pt_BR.md)\n- 🇹🇷 [Türkçe](git-cheat-sheet-tr.md)\n- 🇨🇳 [中文](git-cheat-sheet-zh.md)\n\n---\n\n## 🤝 기여하기\n\n기여를 환영합니다! 이 프로젝트를 개선하는 데 도움을 주세요:\n\n1. **문제 보고**: 오류나 개선 제안을 공유하세요\n2. **새 언어 추가**: 번역을 만들거나 기존 것을 개선하세요\n3. **내용 개선**: 새로운 명령어, 예제 또는 설명을 추가하세요\n4. **피드백 제공**: 경험과 제안을 공유하세요\n\n### 기여 방법:\n- [GitHub에서 이슈 열기](https://github.com/arslanbilal/git-cheat-sheet/issues)\n- Pull request 제출\n- 문서 개선 제안\n\n---\n\n## 📄 라이센스\n\n이 프로젝트는 MIT 라이센스 하에 라이센스가 부여됩니다. 자세한 내용은 [LICENSE](../LICENSE) 파일을 참조하세요.\n\n---\n\n<div align=\"center\">\n  <strong>⭐ 이 치트 시트가 유용하다면 별표를 주세요!</strong><br>\n  <em>Git과 함께 즐거운 코딩 하세요! 🚀</em>\n</div>\n"
  },
  {
    "path": "other-sheets/git-cheat-sheet-pl.md",
    "content": "# Git Cheat Sheet Polski\n\n![Git Logo](../Img/git-logo.png)\n\nSzybki przewodnik referencyjny dla najczęściej używanych poleceń Git, zorganizowany w kategorie dla łatwego użycia.\n\n## 📖 O tym przewodniku\n\nTen kompleksowy przewodnik referencyjny Git jest kompletnym zasobem dla każdego, kto chce usprawnić swój przepływ pracy z Git. Od początkujących, którzy rozpoczynają swoją przygodę z Git, po doświadczonych programistów, ten przewodnik zapewnia systematycznie zorganizowane polecenia kategoryzowane w celu przyspieszenia procesu rozwoju.\n\n### Kluczowe cechy:\n- **Systematyczne kategorie**: Polecenia zorganizowane w jasne, logiczne grupy\n- **Praktyczne przykłady**: Zawiera rzeczywiste przypadki użycia\n- **Przyjazne dla początkujących**: Jasne wyjaśnienia i wskazówki\n- **Szybka referencja**: Błyskawiczny dostęp do niezbędnych poleceń\n\n---\n\n## 📑 Spis treści\n\n- [📖 O tym przewodniku](#o-tym-przewodniku)\n- [🔧 Konfiguracja początkowa](#konfiguracja-początkowa)\n- [⚙️ Pliki konfiguracyjne](#pliki-konfiguracyjne)\n- [📁 Konfiguracja repozytorium](#konfiguracja-repozytorium)\n- [📊 Polecenia statusu](#polecenia-statusu)\n- [📝 Zarządzanie plikami](#zarządzanie-plikami)\n- [💾 Commity](#commity)\n- [🌿 Gałęzie (Branches)](#gałęzie-branches)\n- [🔀 Scalanie (Merge)](#scalanie-merge)\n- [🌐 Zdalne repozytoria](#zdalne-repozytoria)\n- [📚 Historia i logi](#historia-i-logi)\n- [🔍 Wyszukiwanie](#wyszukiwanie)\n- [📁 Przenoszenie/Zmiana nazwy](#przenoszeniizmiana-nazwy)\n- [🏷️ Tagi](#tagi)\n- [↩️ Cofanie zmian](#cofanie-zmian)\n- [📦 Schowek (Stash)](#schowek-stash)\n- [🌊 Git Flow](#git-flow)\n- [💡 Przydatne wskazówki](#przydatne-wskazówki)\n- [📚 Dodatkowe zasoby](#dodatkowe-zasoby)\n- [🌍 Inne języki](#inne-języki)\n- [🤝 Współpraca](#współpraca)\n- [📄 Licencja](#licencja)\n\n---\n\n## 🔧 Konfiguracja początkowa\n\nSkonfiguruj Git ze swoimi danymi osobowymi:\n\n```bash\n# Ustawienie nazwy użytkownika\ngit config --global user.name \"Twoje Imię\"\n\n# Ustawienie adresu email\ngit config --global user.email \"email@example.com\"\n\n# Wyświetlenie bieżącej konfiguracji\ngit config --list\n\n# Ustawienie domyślnego edytora\ngit config --global core.editor \"nano\"\n\n# Ustawienie narzędzia do scalania\ngit config --global merge.tool vimdiff\n```\n\n---\n\n## ⚙️ Pliki konfiguracyjne\n\nGit zarządza konfiguracją na kilku poziomach:\n\n### Plik konfiguracji globalnej\n```bash\n# Ścieżka do globalnego pliku konfiguracji\n~/.gitconfig\n\n# Edycja globalnej konfiguracji\ngit config --global --edit\n```\n\n### Plik konfiguracji repozytorium\n```bash\n# Ścieżka do pliku konfiguracji repozytorium\n.git/config\n\n# Edycja konfiguracji repozytorium\ngit config --edit\n```\n\n### Konfiguracja systemowa\n```bash\n# Plik konfiguracji systemowej (wymaga uprawnień administratora)\n/etc/gitconfig\n\n# Edycja konfiguracji systemowej\ngit config --system --edit\n```\n\n### Przydatne ustawienia konfiguracji\n```bash\n# Włączenie kolorowego wyjścia\ngit config --global color.ui true\n\n# Ustawienie domyślnej nazwy gałęzi\ngit config --global init.defaultBranch main\n\n# Obsługa końców linii (macOS/Linux)\ngit config --global core.autocrlf input\n\n# Obsługa końców linii (Windows)\ngit config --global core.autocrlf true\n```\n\n---\n\n## 📁 Konfiguracja repozytorium\n\n### Tworzenie nowego repozytorium:\n\n```bash\n# Utworzenie nowego repozytorium Git\ngit init\n\n# Klonowanie istniejącego repozytorium\ngit clone <url-repozytorium>\n\n# Klonowanie do określonego katalogu\ngit clone <url-repozytorium> <nazwa-katalogu>\n```\n\n---\n\n## 📊 Polecenia statusu\n\n### Sprawdzanie statusu repozytorium:\n\n```bash\n# Wyświetlenie bieżącego statusu repozytorium\ngit status\n\n# Wyświetlenie statusu w krótkim formacie\ngit status -s\n\n# Wyświetlenie statusu ignorując nieśledzone pliki\ngit status --ignored\n\n# Wyświetlenie różnic w zmodyfikowanych plikach\ngit diff\n\n# Wyświetlenie różnic w obszarze staging\ngit diff --staged\n\n# Wyświetlenie różnic między gałęziami\ngit diff <gałąź1> <gałąź2>\n```\n\n---\n\n## 📝 Zarządzanie plikami\n\n### Dodawanie i usuwanie plików:\n\n```bash\n# Dodanie określonego pliku do obszaru staging\ngit add <plik>\n\n# Dodanie wszystkich zmodyfikowanych plików\ngit add .\n\n# Dodanie wszystkich plików określonego typu\ngit add *.txt\n\n# Interaktywne dodawanie\ngit add -i\n\n# Usunięcie pliku z repozytorium i katalogu roboczego\ngit rm <plik>\n\n# Usunięcie pliku tylko z repozytorium (zachowanie w katalogu)\ngit rm --cached <plik>\n\n# Przenoszenie/zmiana nazwy pliku\ngit mv <plik-źródłowy> <plik-docelowy>\n```\n\n---\n\n## 💾 Commity\n\n### Zapisywanie zmian w repozytorium:\n\n```bash\n# Commit z wiadomością\ngit commit -m \"Wiadomość commita\"\n\n# Commit dodając wszystkie zmodyfikowane pliki\ngit commit -am \"Wiadomość commita\"\n\n# Modyfikacja ostatniego commita\ngit commit --amend\n\n# Pusty commit (przydatny dla wyzwalaczy CI/CD)\ngit commit --allow-empty -m \"Wyzwalacz CI\"\n\n# Commit ze szczegółową wiadomością (otwiera edytor)\ngit commit\n```\n\n---\n\n## 🌿 Gałęzie (Branches)\n\n### Praca z gałęziami:\n\n```bash\n# Wyświetlenie wszystkich gałęzi\ngit branch\n\n# Wyświetlenie zdalnych gałęzi\ngit branch -r\n\n# Wyświetlenie wszystkich gałęzi (lokalnych i zdalnych)\ngit branch -a\n\n# Utworzenie nowej gałęzi\ngit branch <nazwa-gałęzi>\n\n# Przełączenie na gałąź\ngit checkout <nazwa-gałęzi>\n\n# Utworzenie i przełączenie na nową gałąź\ngit checkout -b <nazwa-gałęzi>\n\n# Utworzenie gałęzi z określonego commita\ngit checkout -b <nazwa-gałęzi> <hash-commita>\n\n# Usunięcie gałęzi\ngit branch -d <nazwa-gałęzi>\n\n# Wymuszone usunięcie gałęzi\ngit branch -D <nazwa-gałęzi>\n\n# Zmiana nazwy bieżącej gałęzi\ngit branch -m <nowa-nazwa>\n\n# Zmiana nazwy określonej gałęzi\ngit branch -m <stara-nazwa> <nowa-nazwa>\n```\n\n---\n\n## 🔀 Scalanie (Merge)\n\n### Scalanie zmian między gałęziami:\n\n```bash\n# Scalenie gałęzi z bieżącą gałęzią\ngit merge <nazwa-gałęzi>\n\n# Scalenie bez fast-forward (utworzenie commita scalenia)\ngit merge --no-ff <nazwa-gałęzi>\n\n# Scalenie tylko jeśli jest fast-forward\ngit merge --ff-only <nazwa-gałęzi>\n\n# Anulowanie trwającego scalenia\ngit merge --abort\n\n# Kontynuacja scalenia po rozwiązaniu konfliktów\ngit merge --continue\n```\n\n---\n\n## 🌐 Zdalne repozytoria\n\n### Zarządzanie zdalnymi repozytoriami:\n\n```bash\n# Wyświetlenie zdalnych repozytoriów\ngit remote\n\n# Wyświetlenie zdalnych repozytoriów z URL-ami\ngit remote -v\n\n# Dodanie zdalnego repozytorium\ngit remote add <nazwa> <url>\n\n# Zmiana URL zdalnego repozytorium\ngit remote set-url <nazwa> <nowy-url>\n\n# Usunięcie zdalnego repozytorium\ngit remote remove <nazwa>\n\n# Wysłanie zmian do zdalnego repozytorium\ngit push <zdalne> <gałąź>\n\n# Wysłanie gałęzi i ustawienie śledzenia\ngit push -u <zdalne> <gałąź>\n\n# Wysłanie wszystkich gałęzi\ngit push --all\n\n# Wysłanie tagów\ngit push --tags\n\n# Pobranie zmian ze zdalnego repozytorium\ngit pull <zdalne> <gałąź>\n\n# Pobranie zmian bez scalania\ngit fetch <zdalne>\n\n# Pobranie wszystkich zdalnych gałęzi\ngit fetch --all\n```\n\n---\n\n## 📚 Historia i logi\n\n### Eksploracja historii commitów:\n\n```bash\n# Wyświetlenie historii commitów\ngit log\n\n# Wyświetlenie historii w jednej linii na commit\ngit log --oneline\n\n# Wyświetlenie historii z wykresem\ngit log --graph\n\n# Wyświetlenie historii określonego pliku\ngit log <plik>\n\n# Wyświetlenie statystyk commitów\ngit log --stat\n\n# Wyświetlenie zmian w każdym commicie\ngit log -p\n\n# Wyświetlenie ostatnich N commitów\ngit log -n <liczba>\n\n# Wyświetlenie commitów między datami\ngit log --since=\"2023-01-01\" --until=\"2023-12-31\"\n\n# Wyświetlenie commitów według autora\ngit log --author=\"Imię Autora\"\n\n# Wyszukiwanie w wiadomościach commitów\ngit log --grep=\"słowo kluczowe\"\n```\n\n---\n\n## 🔍 Wyszukiwanie\n\n### Wyszukiwanie w zawartości i historii:\n\n```bash\n# Wyszukiwanie tekstu w plikach śledzonych\ngit grep \"tekst do wyszukania\"\n\n# Wyszukiwanie z ignorowaniem wielkości liter\ngit grep -i \"tekst\"\n\n# Wyszukiwanie całych słów\ngit grep -w \"słowo\"\n\n# Wyświetlenie numerów linii\ngit grep -n \"tekst\"\n\n# Wyświetlenie tylko nazw plików\ngit grep -l \"tekst\"\n\n# Wyszukiwanie w określonych plikach\ngit grep \"tekst\" -- \"*.js\"\n\n# Wyszukiwanie w historii commitów\ngit log -S \"tekst\" --source --all\n\n# Wyszukiwanie dodań/usunięć w historii\ngit log -G \"regex_pattern\" --patch\n\n# Wyszukiwanie według nazwy pliku\ngit log --all --full-history -- \"**/nazwa_pliku.*\"\n\n# Wyszukiwanie w określonym commicie\ngit grep \"tekst\" <hash-commita>\n```\n\n---\n\n## 🏷️ Tagi\n\n### Zarządzanie tagami wersji:\n\n```bash\n# Wyświetlenie wszystkich tagów\ngit tag\n\n# Utworzenie lekkiego tagu\ngit tag <nazwa-tagu>\n\n# Utworzenie adnotowanego tagu\ngit tag -a <nazwa-tagu> -m \"Wiadomość tagu\"\n\n# Utworzenie tagu na określonym commicie\ngit tag -a <nazwa-tagu> <hash-commita>\n\n# Wyświetlenie informacji o tagu\ngit show <nazwa-tagu>\n\n# Usunięcie lokalnego tagu\ngit tag -d <nazwa-tagu>\n\n# Usunięcie zdalnego tagu\ngit push --delete <zdalne> <nazwa-tagu>\n\n# Wysłanie określonego tagu\ngit push <zdalne> <nazwa-tagu>\n\n# Wysłanie wszystkich tagów\ngit push <zdalne> --tags\n```\n\n---\n\n## 📁 Przenoszenie/Zmiana nazwy\n\n### Zarządzanie plikami i katalogami:\n\n```bash\n# Przenoszenie/zmiana nazwy pliku\ngit mv <stary-plik> <nowy-plik>\n\n# Zmiana nazwy katalogu\ngit mv <stary-katalog> <nowy-katalog>\n\n# Przenoszenie wielu plików do katalogu\ngit mv plik1.txt plik2.txt katalog/\n\n# Zmiana wielkości liter (systemy plików wrażliwe na wielkość liter)\ngit mv nazwapliku.txt temp.txt\ngit mv temp.txt NazwaPliku.txt\n\n# Śledzenie historii przeniesionego pliku\ngit log --follow <plik>\n\n# Śledzenie przeniesionych plików\ngit log --stat -M\n\n# Ustawienie progu wykrywania zmian nazwy\ngit log --follow -M90% <plik>\n```\n\n---\n\n## ↩️ Cofanie zmian\n\n### Przywracanie modyfikacji:\n\n```bash\n# Anulowanie zmian w określonym pliku\ngit checkout <plik>\n\n# Anulowanie wszystkich niezacommitowanych zmian\ngit checkout .\n\n# Przywrócenie pliku do określonej wersji\ngit checkout <hash-commita> <plik>\n\n# Usunięcie pliku z obszaru staging\ngit reset <plik>\n\n# Usunięcie wszystkich plików z obszaru staging\ngit reset\n\n# Powrót do poprzedniego commita (zachowanie zmian)\ngit reset --soft HEAD~1\n\n# Powrót do poprzedniego commita (anulowanie zmian)\ngit reset --hard HEAD~1\n\n# Powrót do określonego commita\ngit reset --hard <hash-commita>\n\n# Utworzenie commita anulującego inny commit\ngit revert <hash-commita>\n\n# Anulowanie wielu commitów\ngit revert <hash-od>..<hash-do>\n```\n\n---\n\n## 📦 Schowek (Stash)\n\n### Tymczasowe zapisywanie pracy:\n\n```bash\n# Zapisanie bieżących zmian w schowku\ngit stash\n\n# Zapisanie z opisową wiadomością\ngit stash save \"Opisowa wiadomość\"\n\n# Wyświetlenie wszystkich schowków\ngit stash list\n\n# Zastosowanie ostatniego schowka\ngit stash apply\n\n# Zastosowanie określonego schowka\ngit stash apply stash@{0}\n\n# Zastosowanie i usunięcie ostatniego schowka\ngit stash pop\n\n# Usunięcie określonego schowka\ngit stash drop stash@{0}\n\n# Usunięcie wszystkich schowków\ngit stash clear\n\n# Wyświetlenie zmian w schowku\ngit stash show stash@{0}\n\n# Utworzenie gałęzi ze schowka\ngit stash branch <nazwa-gałęzi> stash@{0}\n```\n\n---\n\n## 🌊 Git Flow\n\nGit Flow to model rozgałęziania, który definiuje ścisły przepływ pracy zaprojektowany wokół wydania projektu.\n\n### Główne gałęzie:\n- **master/main**: Kod produkcyjny\n- **develop**: Główna gałąź rozwoju\n\n### Gałęzie wsparcia:\n- **feature**: Dla nowych funkcji\n- **release**: Dla przygotowania nowych wersji\n- **hotfix**: Dla pilnych poprawek w produkcji\n\n### Polecenia Git Flow:\n\n```bash\n# Inicjalizacja git flow\ngit flow init\n\n# Rozpoczęcie nowej funkcji\ngit flow feature start <nazwa-funkcji>\n\n# Zakończenie funkcji\ngit flow feature finish <nazwa-funkcji>\n\n# Publikowanie funkcji\ngit flow feature publish <nazwa-funkcji>\n\n# Rozpoczęcie wydania\ngit flow release start <wersja>\n\n# Zakończenie wydania\ngit flow release finish <wersja>\n\n# Rozpoczęcie hotfixa\ngit flow hotfix start <wersja>\n\n# Zakończenie hotfixa\ngit flow hotfix finish <wersja>\n```\n\n### Przepływ pracy bez Git Flow:\n\n![Git Flow Commands](../Img/git-flow-commands-without-flow.png)\n\n```bash\n# Utworzenie gałęzi funkcji\ngit checkout develop\ngit checkout -b feature/nowa-funkcja\n\n# Praca nad funkcją\ngit add .\ngit commit -m \"Dodanie nowej funkcji\"\n\n# Scalenie funkcji z develop\ngit checkout develop\ngit merge --no-ff feature/nowa-funkcja\ngit branch -d feature/nowa-funkcja\n\n# Utworzenie gałęzi wydania\ngit checkout develop\ngit checkout -b release/1.0.0\n\n# Zakończenie wydania\ngit checkout master\ngit merge --no-ff release/1.0.0\ngit tag -a 1.0.0 -m \"Wersja 1.0.0\"\ngit checkout develop\ngit merge --no-ff release/1.0.0\ngit branch -d release/1.0.0\n```\n\n---\n\n## 💡 Przydatne wskazówki\n\n### Przydatne aliasy:\n\n```bash\n# Ustawienie przydatnych aliasów\ngit config --global alias.st status\ngit config --global alias.co checkout\ngit config --global alias.br branch\ngit config --global alias.ci commit\ngit config --global alias.unstage 'reset HEAD --'\ngit config --global alias.last 'log -1 HEAD'\ngit config --global alias.visual '!gitk'\n```\n\n### Pliki .gitignore:\n\n```bash\n# Utworzenie pliku .gitignore\necho \"node_modules/\" >> .gitignore\necho \"*.log\" >> .gitignore\necho \".env\" >> .gitignore\n\n# Ignorowanie już śledzonych plików\ngit rm --cached <plik>\necho \"<plik>\" >> .gitignore\ngit add .gitignore\ngit commit -m \"Dodanie pliku do .gitignore\"\n```\n\n---\n\n## 📚 Dodatkowe zasoby\n\n### Oficjalna dokumentacja i przewodniki\n- [Oficjalna dokumentacja Git](https://git-scm.com/doc)\n- [Książka Pro Git (darmowa)](https://git-scm.com/book)\n- [Manual referencyjny Git](https://git-scm.com/docs)\n- [Tutorial Git](https://git-scm.com/docs/gittutorial)\n\n### Materiały do nauki online\n- [GitHub Git Handbook](https://guides.github.com/introduction/git-handbook/)\n- [Atlassian Git Tutorials](https://www.atlassian.com/git/tutorials)\n- [Learn Git Branching (interaktywny)](https://learngitbranching.js.org/)\n- [Git Immersion](http://gitimmersion.com/)\n\n### Narzędzia GUI\n- [GitHub Desktop](https://desktop.github.com/)\n- [GitKraken](https://www.gitkraken.com/)\n- [SourceTree](https://www.sourcetreeapp.com/)\n- [Tower](https://www.git-tower.com/)\n\n### Zaawansowane tematy\n- [Git Hooks](https://git-scm.com/book/en/v2/Customizing-Git-Git-Hooks)\n- [Przepływy pracy Git](https://www.atlassian.com/git/tutorials/comparing-workflows)\n- [Wewnętrzne mechanizmy Git](https://git-scm.com/book/en/v2/Git-Internals-Plumbing-and-Porcelain)\n\n---\n\n## 🌍 Inne języki\n\nTen Git Cheat Sheet jest dostępny w następujących językach:\n\n- 🇺🇸 [English](../README.md)\n- 🇸🇦 [العربية](git-cheat-sheet-ar.md)\n- 🇧🇩 [বাংলা](git-cheat-sheet-bn.md)\n- 🇩🇪 [Deutsch](git-cheat-sheet-de.md)\n- 🇬🇷 [Ελληνικά](git-cheat-sheet-el.md)\n- 🇪🇸 [Español](git-cheat-sheet-es.md)\n- 🇮🇳 [हिन्दी](git-cheat-sheet-hi.md)\n- 🇰🇷 [한국어](git-cheat-sheet-ko.md)\n- 🇵🇱 **Polski** (bieżący)\n- 🇧🇷 [Português](git-cheat-sheet-pt_BR.md)\n- 🇹🇷 [Türkçe](git-cheat-sheet-tr.md)\n- 🇨🇳 [中文](git-cheat-sheet-zh.md)\n\n---\n\n## 🤝 Współpraca\n\nZachęcamy do współpracy! Aby pomóc w ulepszaniu tego projektu:\n\n1. **Zgłaszaj problemy**: Dziel się błędami lub sugestiami ulepszeń\n2. **Dodawaj nowe języki**: Twórz tłumaczenia lub ulepszaj istniejące\n3. **Ulepszaj treść**: Dodawaj nowe polecenia, przykłady lub wyjaśnienia\n4. **Przekazuj opinie**: Dziel się swoimi doświadczeniami i sugestiami\n\n### Jak współpracować:\n- [Otwórz issue na GitHub](https://github.com/arslanbilal/git-cheat-sheet/issues)\n- Wyślij pull request\n- Zaproponuj ulepszenia dokumentacji\n\n---\n\n## 📄 Licencja\n\nTen projekt jest licencjonowany na licencji MIT. Zobacz plik [LICENSE](../LICENSE) po więcej szczegółów.\n\n---\n\n<div align=\"center\">\n  <strong>⭐ Jeśli ten cheat sheet jest pomocny, zostaw gwiazdkę!</strong><br>\n  <em>Miłego kodowania z Git! 🚀</em>\n</div>\n"
  },
  {
    "path": "other-sheets/git-cheat-sheet-pt_BR.md",
    "content": "# Git Cheat Sheet Português (Brasil)\n\n![Git Logo](../Img/git-logo.png)\n\nEsta folha de dicas abrangente do Git ajuda você a dominar comandos Git sem memorizar tudo. Seja você iniciante ou desenvolvedor experiente, este guia fornece referência rápida para operações essenciais do Git.\n\n**Contribuições são bem-vindas!** Sinta-se livre para:\n- Corrigir erros gramaticais\n- Adicionar novos comandos\n- Traduzir para seu idioma\n- Melhorar explicações\n\n---\n\n## 📋 Índice\n\n- [🔧 Configuração](#-configuração)\n- [⚙️ Arquivos de Configuração](#️-arquivos-de-configuração)\n- [🆕 Criar Repositório](#-criar-repositório)\n- [📝 Mudanças Locais](#-mudanças-locais)\n- [🔍 Buscar](#-buscar)\n- [📖 Histórico de Commits](#-histórico-de-commits)\n- [📁 Mover / Renomear](#-mover--renomear)\n- [🌿 Branches e Tags](#-branches-e-tags)\n- [🔄 Atualizar e Publicar](#-atualizar-e-publicar)\n- [🔀 Merge e Rebase](#-merge-e-rebase)\n- [↩️ Desfazer](#️-desfazer)\n- [🌊 Git Flow](#-git-flow)\n- [📚 Recursos Adicionais](#-recursos-adicionais)\n- [🌍 Outros Idiomas](#-outros-idiomas)\n- [🤝 Contribuir](#-contribuir)\n- [📄 Licença](#-licença)\n\n---\n\n## 🔧 Configuração\n\n### Ver Configuração\n\n**Mostrar configuração atual:**\n```bash\ngit config --list\n```\n\n**Mostrar configuração do repositório:**\n```bash\ngit config --local --list\n```\n\n**Mostrar configuração global:**\n```bash\ngit config --global --list\n```\n\n**Mostrar configuração do sistema:**\n```bash\ngit config --system --list\n```\n\n### Configuração do Usuário\n\n**Definir seu nome para histórico de versões:**\n```bash\ngit config --global user.name \"[nome sobrenome]\"\n```\n\n**Definir seu endereço de email:**\n```bash\ngit config --global user.email \"[email-válido]\"\n```\n\n### Configurações de Exibição e Editor\n\n**Habilitar coloração automática da linha de comando:**\n```bash\ngit config --global color.ui auto\n```\n\n**Definir editor global para commits:**\n```bash\ngit config --global core.editor vi\n```\n\n---\n\n## ⚙️ Arquivos de Configuração\n\n| Escopo | Localização | Flag do Comando |\n|--------|-------------|-----------------|\n| **Repositório** | `<repo>/.git/config` | `--local` |\n| **Usuário** | `~/.gitconfig` | `--global` |\n| **Sistema** | `/etc/gitconfig` | `--system` |\n\n---\n\n## 🆕 Criar Repositório\n\n### Clonar Repositório Existente\n\n**Via SSH:**\n```bash\ngit clone ssh://usuario@dominio.com/repo.git\n```\n\n**Via HTTPS:**\n```bash\ngit clone https://dominio.com/usuario/repo.git\n```\n\n### Inicializar Novo Repositório\n\n**Criar repositório no diretório atual:**\n```bash\ngit init\n```\n\n**Criar repositório em diretório específico:**\n```bash\ngit init <diretorio>\n```\n\n---\n\n## 📝 Mudanças Locais\n\n### Verificar Status e Diferenças\n\n**Ver status do diretório de trabalho:**\n```bash\ngit status\n```\n\n**Mostrar mudanças em arquivos rastreados:**\n```bash\ngit diff\n```\n\n**Mostrar mudanças em arquivo específico:**\n```bash\ngit diff <arquivo>\n```\n\n### Preparar Mudanças\n\n**Adicionar todas as mudanças atuais:**\n```bash\ngit add .\n```\n\n**Adicionar arquivos específicos:**\n```bash\ngit add <arquivo1> <arquivo2>\n```\n\n**Adicionar interativamente partes de um arquivo:**\n```bash\ngit add -p <arquivo>\n```\n\n### Fazer Commit das Mudanças\n\n**Fazer commit de todas as mudanças de arquivos rastreados:**\n```bash\ngit commit -a\n```\n\n**Fazer commit das mudanças preparadas:**\n```bash\ngit commit\n```\n\n**Fazer commit com mensagem:**\n```bash\ngit commit -m 'mensagem aqui'\n```\n\n**Pular preparação e fazer commit com mensagem:**\n```bash\ngit commit -am 'mensagem aqui'\n```\n\n**Fazer commit com data específica:**\n```bash\ngit commit --date=\"`date --date='n day ago'`\" -am \"<Mensagem do Commit Aqui>\"\n```\n\n### Modificar Último Commit\n\n> ⚠️ **Aviso:** Não modifique commits publicados!\n\n**Emendar último commit:**\n```bash\ngit commit -a --amend\n```\n\n**Emendar sem alterar mensagem do commit:**\n```bash\ngit commit --amend --no-edit\n```\n\n**Alterar data do committer:**\n```bash\nGIT_COMMITTER_DATE=\"data\" git commit --amend\n```\n\n**Alterar data do autor:**\n```bash\ngit commit --amend --date=\"data\"\n```\n\n### Guardar Mudanças Temporariamente\n\n**Salvar mudanças atuais temporariamente:**\n```bash\ngit stash\n```\n\n**Aplicar últimas mudanças salvas:**\n```bash\ngit stash apply\n```\n\n**Aplicar stash específico:**\n```bash\ngit stash apply stash@{numero_stash}\n```\n> Use `git stash list` para ver stashes disponíveis\n\n**Remover último stash:**\n```bash\ngit stash drop\n```\n\n**Mover mudanças não commitadas para outro branch:**\n```bash\ngit stash\ngit checkout branch2\ngit stash pop\n```\n\n---\n\n## 🔍 Buscar\n\n### Busca de Texto\n\n**Buscar texto em todos os arquivos:**\n```bash\ngit grep \"Olá\"\n```\n\n**Buscar em versão específica:**\n```bash\ngit grep \"Olá\" v2.5\n```\n\n### Busca de Commits\n\n**Encontrar commits que introduziram palavra-chave específica:**\n```bash\ngit log -S 'palavra-chave'\n```\n\n**Buscar com expressão regular:**\n```bash\ngit log -S 'palavra-chave' --pickaxe-regex\n```\n\n---\n\n## 📖 Histórico de Commits\n\n### Histórico Básico\n\n**Mostrar todos os commits (detalhado):**\n```bash\ngit log\n```\n\n**Mostrar commits (uma linha cada):**\n```bash\ngit log --oneline\n```\n\n**Mostrar commits por autor específico:**\n```bash\ngit log --author=\"nomeusuario\"\n```\n\n**Mostrar mudanças para arquivo específico:**\n```bash\ngit log -p <arquivo>\n```\n\n### Histórico Avançado\n\n**Comparar branches:**\n```bash\ngit log --oneline <origin/master>..<remote/master> --left-right\n```\n\n**Mostrar quem mudou o que e quando:**\n```bash\ngit blame <arquivo>\n```\n\n### Logs de Referência\n\n**Mostrar log de referência:**\n```bash\ngit reflog show\n```\n\n**Deletar log de referência:**\n```bash\ngit reflog delete\n```\n\n---\n\n## 📁 Mover / Renomear\n\n**Renomear um arquivo:**\n```bash\ngit mv Index.txt Index.html\n```\n\n---\n\n## 🌿 Branches e Tags\n\n### Listar Branches\n\n**Listar branches locais:**\n```bash\ngit branch\n```\n\n**Listar todos os branches (local + remoto):**\n```bash\ngit branch -a\n```\n\n**Listar branches remotos:**\n```bash\ngit branch -r\n```\n\n**Listar branches mesclados:**\n```bash\ngit branch --merged\n```\n\n### Trocar e Criar Branches\n\n**Trocar para branch existente:**\n```bash\ngit checkout <branch>\n```\n\n**Criar e trocar para novo branch:**\n```bash\ngit checkout -b <branch>\n```\n\n**Trocar para branch anterior:**\n```bash\ngit checkout -\n```\n\n**Criar branch a partir de branch existente:**\n```bash\ngit checkout -b <novo_branch> <branch_existente>\n```\n\n**Criar branch a partir de commit específico:**\n```bash\ngit checkout <hash-commit> -b <nome_novo_branch>\n```\n\n**Criar branch sem trocar:**\n```bash\ngit branch <novo-branch>\n```\n\n**Criar branch de rastreamento:**\n```bash\ngit branch --track <novo-branch> <branch-remoto>\n```\n\n### Operações de Branch\n\n**Obter arquivo único de branch diferente:**\n```bash\ngit checkout <branch> -- <nomearquivo>\n```\n\n**Aplicar commit específico de outro branch:**\n```bash\ngit cherry-pick <hash commit>\n```\n\n**Renomear branch atual:**\n```bash\ngit branch -m <nome_novo_branch>\n```\n\n**Deletar branch local:**\n```bash\ngit branch -d <branch>\n```\n\n**Forçar deleção de branch local:**\n```bash\ngit branch -D <branch>\n```\n> ⚠️ **Aviso:** Você perderá mudanças não mescladas!\n\n### Tags\n\n**Criar tag no HEAD:**\n```bash\ngit tag <nome-tag>\n```\n\n**Criar tag anotada:**\n```bash\ngit tag -a <nome-tag>\n```\n\n**Criar tag com mensagem:**\n```bash\ngit tag <nome-tag> -am 'mensagem aqui'\n```\n\n**Listar todas as tags:**\n```bash\ngit tag\n```\n\n**Listar tags com mensagens:**\n```bash\ngit tag -n\n```\n\n---\n\n## 🔄 Atualizar e Publicar\n\n### Gerenciamento de Remotos\n\n**Listar remotos configurados:**\n```bash\ngit remote -v\n```\n\n**Mostrar informações do remoto:**\n```bash\ngit remote show <remoto>\n```\n\n**Adicionar novo remoto:**\n```bash\ngit remote add <remoto> <url>\n```\n\n**Renomear remoto:**\n```bash\ngit remote rename <remoto> <novo_remoto>\n```\n\n**Remover remoto:**\n```bash\ngit remote rm <remoto>\n```\n> ℹ️ **Nota:** Isso apenas remove a referência remota localmente, não o repositório remoto em si.\n\n### Fetch e Pull\n\n**Baixar mudanças sem mesclar:**\n```bash\ngit fetch <remoto>\n```\n\n**Baixar e mesclar mudanças:**\n```bash\ngit pull <remoto> <branch>\n```\n\n**Obter mudanças do branch principal:**\n```bash\ngit pull origin master\n```\n\n**Pull com rebase:**\n```bash\ngit pull --rebase <remoto> <branch>\n```\n\n### Push e Publicar\n\n**Publicar mudanças locais:**\n```bash\ngit push <remoto> <branch>\n```\n\n**Deletar branch remoto:**\n```bash\n# Git v1.7.0+\ngit push <remoto> --delete <branch>\n\n# Git v1.5.0+\ngit push <remoto> :<branch>\n```\n\n**Publicar tags:**\n```bash\ngit push --tags\n```\n\n---\n\n## 🔀 Merge e Rebase\n\n### Operações de Merge\n\n**Mesclar branch no HEAD atual:**\n```bash\ngit merge <branch>\n```\n\n**Configurar ferramenta de merge globalmente:**\n```bash\ngit config --global merge.tool meld\n```\n\n**Usar ferramenta de merge configurada:**\n```bash\ngit mergetool\n```\n\n### Operações de Rebase\n\n> ⚠️ **Aviso:** Não faça rebase de commits publicados!\n\n**Fazer rebase do HEAD atual sobre branch:**\n```bash\ngit rebase <branch>\n```\n\n**Abortar rebase:**\n```bash\ngit rebase --abort\n```\n\n**Continuar rebase após resolver conflitos:**\n```bash\ngit rebase --continue\n```\n\n### Resolução de Conflitos\n\n**Marcar arquivo como resolvido:**\n```bash\ngit add <arquivo-resolvido>\n```\n\n**Remover arquivo resolvido:**\n```bash\ngit rm <arquivo-resolvido>\n```\n\n### Squashing Commits\n\n**Rebase interativo para squashing:**\n```bash\ngit rebase -i <commit-logo-antes-do-primeiro>\n```\n\n**Exemplo de configuração para squash:**\n```\n# Antes\npick <commit_id>\npick <commit_id2>\npick <commit_id3>\n\n# Depois (squash commit_id2 e commit_id3 em commit_id)\npick <commit_id>\nsquash <commit_id2>\nsquash <commit_id3>\n```\n\n---\n\n## ↩️ Desfazer\n\n### Descartar Mudanças\n\n**Descartar todas as mudanças locais:**\n```bash\ngit reset --hard HEAD\n```\n\n**Tirar todos os arquivos da área de staging:**\n```bash\ngit reset HEAD\n```\n\n**Descartar mudanças em arquivo específico:**\n```bash\ngit checkout HEAD <arquivo>\n```\n\n### Operações de Reset\n\n**Reset para commit anterior (descartar todas as mudanças):**\n```bash\ngit reset --hard <commit>\n```\n\n**Reset para estado do branch remoto:**\n```bash\ngit reset --hard <remoto/branch>\n# Exemplo: git reset --hard upstream/master\n```\n\n**Reset preservando mudanças como não preparadas:**\n```bash\ngit reset <commit>\n```\n\n**Reset preservando mudanças locais não commitadas:**\n```bash\ngit reset --keep <commit>\n```\n\n### Reverter Commits\n\n**Reverter commit (criar novo commit com mudanças opostas):**\n```bash\ngit revert <commit>\n```\n\n### Limpar Arquivos Ignorados\n\n**Remover arquivos acidentalmente commitados que deveriam ser ignorados:**\n```bash\ngit rm -r --cached .\ngit add .\ngit commit -m \"remover arquivos ignorados\"\n```\n\n---\n\n## 🌊 Git Flow\n\n**Git-flow melhorado:** [git-flow-avh](https://github.com/petervanderdoes/gitflow-avh)\n\n### 📋 Índice\n- [🔧 Configuração](#configuração-1)\n- [🚀 Começando](#começando)\n- [✨ Features](#features)\n- [🎁 Fazer um Release](#fazer-um-release)\n- [🔥 Hotfixes](#hotfixes)\n- [📊 Resumo de Comandos](#resumo-de-comandos)\n\n---\n\n### 🔧 Configuração {#configuração-1}\n\n> **Pré-requisito:** Instalação do Git funcionando é necessária. Git-flow funciona no macOS, Linux e Windows.\n\n**macOS (Homebrew):**\n```bash\nbrew install git-flow-avh\n```\n\n**macOS (MacPorts):**\n```bash\nport install git-flow\n```\n\n**Linux (baseado em Debian):**\n```bash\nsudo apt-get install git-flow\n```\n\n**Windows (Cygwin):**\n> Requer wget e util-linux\n```bash\nwget -q -O - --no-check-certificate https://raw.githubusercontent.com/petervanderdoes/gitflow/develop/contrib/gitflow-installer.sh install <state> | bash\n```\n\n---\n\n### 🚀 Começando\n\nGit-flow precisa de inicialização para personalizar a configuração do seu projeto.\n\n**Inicializar (interativo):**\n```bash\ngit flow init\n```\n> Você responderá perguntas sobre convenções de nomenclatura de branches. Valores padrão são recomendados.\n\n**Inicializar (usar padrões):**\n```bash\ngit flow init -d\n```\n\n---\n\n### ✨ Features\n\nFeatures são para desenvolver nova funcionalidade para próximos releases. Tipicamente existem apenas em repositórios de desenvolvedores.\n\n**Iniciar novo feature:**\n```bash\ngit flow feature start MEUFEATURE\n```\n> Cria branch de feature baseado em 'develop' e troca para ele\n\n**Finalizar feature:**\n```bash\ngit flow feature finish MEUFEATURE\n```\n> Isso fará:\n> 1. Mesclar MEUFEATURE em 'develop'\n> 2. Remover o branch de feature\n> 3. Trocar de volta para 'develop'\n\n**Publicar feature (para colaboração):**\n```bash\ngit flow feature publish MEUFEATURE\n```\n\n**Obter feature publicado:**\n```bash\ngit flow feature pull origin MEUFEATURE\n```\n\n**Rastrear feature de origem:**\n```bash\ngit flow feature track MEUFEATURE\n```\n\n---\n\n### 🎁 Fazer um Release\n\nReleases suportam preparação de novos releases de produção, permitindo correções menores de bugs e preparando meta-dados.\n\n**Iniciar release:**\n```bash\ngit flow release start RELEASE [BASE]\n```\n> Cria branch de release a partir de 'develop'. Opcionalmente especifique commit SHA-1 [BASE].\n\n**Publicar release:**\n```bash\ngit flow release publish RELEASE\n```\n\n**Rastrear release remoto:**\n```bash\ngit flow release track RELEASE\n```\n\n**Finalizar release:**\n```bash\ngit flow release finish RELEASE\n```\n> Isso fará:\n> 1. Mesclar branch de release em 'master'\n> 2. Taggar o release\n> 3. Mesclar release de volta em 'develop'\n> 4. Remover branch de release\n\n> 💡 **Não esqueça:** Envie suas tags com `git push --tags`\n\n---\n\n### 🔥 Hotfixes\n\nHotfixes abordam problemas críticos em versões de produção ao vivo. Eles se ramificam da tag correspondente no master.\n\n**Iniciar hotfix:**\n```bash\ngit flow hotfix start VERSAO [NOMEBASE]\n```\n\n**Finalizar hotfix:**\n```bash\ngit flow hotfix finish VERSAO\n```\n> Mescla de volta em 'develop' e 'master', e tagga o merge do master\n\n---\n\n### 📊 Resumo de Comandos\n\n<p align=\"center\">\n    <img alt=\"Comandos Git Flow\" src=\"../Img/git-flow-commands.png\" height=\"270\" width=\"460\">\n</p>\n\n### 🌊 Esquema do Git Flow\n\n<p align=\"center\">\n    <img alt=\"Esquema Git Flow\" src=\"../Img/git-flow-commands-without-flow.png\">\n</p>\n\n---\n\n## 📚 Recursos Adicionais\n\n### Documentação Oficial e Guias\n- [Documentação Oficial do Git](https://git-scm.com/doc)\n- [Livro Pro Git (gratuito)](https://git-scm.com/book/pt-br)\n- [Manual de Referência Git](https://git-scm.com/docs)\n- [Tutorial Git](https://git-scm.com/docs/gittutorial)\n\n### Materiais de Aprendizado Online\n- [GitHub Git Handbook](https://guides.github.com/introduction/git-handbook/)\n- [Atlassian Git Tutorials](https://www.atlassian.com/git/tutorials)\n- [Learn Git Branching (interativo)](https://learngitbranching.js.org/?locale=pt_BR)\n- [Git Immersion](http://gitimmersion.com/)\n\n### Ferramentas GUI\n- [GitHub Desktop](https://desktop.github.com/)\n- [GitKraken](https://www.gitkraken.com/)\n- [SourceTree](https://www.sourcetreeapp.com/)\n- [Tower](https://www.git-tower.com/)\n\n### Tópicos Avançados\n- [Git Hooks](https://git-scm.com/book/pt-br/v2/Customizing-Git-Git-Hooks)\n- [Workflows Git](https://www.atlassian.com/git/tutorials/comparing-workflows)\n- [Funcionamento Interno do Git](https://git-scm.com/book/pt-br/v2/Git-Internals-Plumbing-and-Porcelain)\n\n---\n\n## 🌍 Outros Idiomas\n\nEsta folha de dicas está disponível em múltiplos idiomas:\n\n| Idioma | Link |\n|--------|------|\n| 🇺🇸 Inglês | [README.md](../README.md) |\n| 🇸🇦 Árabe | [git-cheat-sheet-ar.md](./git-cheat-sheet-ar.md) |\n| 🇧🇩 Bengali | [git-cheat-sheet-bn.md](./git-cheat-sheet-bn.md) |\n| 🇨🇳 Chinês | [git-cheat-sheet-zh.md](./git-cheat-sheet-zh.md) |\n| 🇩🇪 Alemão | [git-cheat-sheet-de.md](./git-cheat-sheet-de.md) |\n| 🇪🇸 Espanhol | [git-cheat-sheet-es.md](./git-cheat-sheet-es.md) |\n| 🇬🇷 Grego | [git-cheat-sheet-el.md](./git-cheat-sheet-el.md) |\n| 🇮🇳 Hindi | [git-cheat-sheet-hi.md](./git-cheat-sheet-hi.md) |\n| 🇰🇷 Coreano | [git-cheat-sheet-ko.md](./git-cheat-sheet-ko.md) |\n| 🇵🇱 Polonês | [git-cheat-sheet-pl.md](./git-cheat-sheet-pl.md) |\n| 🇹🇷 Turco | [git-cheat-sheet-tr.md](./git-cheat-sheet-tr.md) |\n\n---\n\n## 🤝 Contribuir\n\nDamos as boas-vindas a contribuições! Você pode:\n\n- 🐛 Reportar bugs ou erros de digitação\n- ✨ Adicionar novos comandos Git\n- 🌍 Traduzir para novos idiomas\n- 💡 Melhorar explicações\n- 📝 Aprimorar formatação\n\n**Como contribuir:**\n1. Faça fork deste repositório\n2. Crie seu branch de feature (`git checkout -b feature/FeatureIncrivel`)\n3. Faça commit das suas mudanças (`git commit -m 'Adicionar alguma FeatureIncrivel'`)\n4. Faça push para o branch (`git push origin feature/FeatureIncrivel`)\n5. Abra um Pull Request\n\n---\n\n## 📄 Licença\n\nEste projeto é código aberto e está disponível sob a [Licença MIT](LICENSE).\n\n---\n\n<p align=\"center\">\n    <b>⭐ Dê uma estrela neste repositório se foi útil!</b>\n</p>\n"
  },
  {
    "path": "other-sheets/git-cheat-sheet-tr.md",
    "content": "# Git Cheat Sheet Türkçe\n\n![Git Logo](../Img/git-logo.png)\n\nEn çok kullanılan Git komutları için hızlı referans rehberi, kolay kullanım için kategorilere göre düzenlenmiştir.\n\n## 📖 Bu Rehber Hakkında\n\nBu kapsamlı Git referans rehberi, Git iş akışlarını iyileştirmek isteyen herkes için eksiksiz bir kaynaktır. Git yolculuğuna başlayan yeni başlayanlardan deneyimli geliştiricilere kadar, bu rehber geliştirme sürecinizi hızlandırmak için sistematik olarak düzenlenmiş ve kategorize edilmiş komutlar sağlar.\n\n### Temel Özellikler:\n- **Sistematik kategoriler**: Komutlar açık ve mantıklı gruplara düzenlenmiştir\n- **Pratik örnekler**: Gerçek kullanım durumlarıyla birlikte verilmiştir\n- **Yeni başlayanlar için uygun**: Net açıklamalar ve ipuçları içerir\n- **Hızlı referans**: Temel komutlara anında erişim\n\n---\n\n## 📑 İçindekiler\n\n- [📖 Bu Rehber Hakkında](#bu-rehber-hakkında)\n- [🔧 İlk Kurulum](#i̇lk-kurulum)\n- [⚙️ Yapılandırma Dosyaları](#yapılandırma-dosyaları)\n- [📁 Depo Kurulumu](#depo-kurulumu)\n- [📊 Durum Komutları](#durum-komutları)\n- [📝 Dosya Yönetimi](#dosya-yönetimi)\n- [💾 Commit'ler](#commitler)\n- [🌿 Dal'lar (Branches)](#dallar-branches)\n- [🔀 Birleştirme (Merge)](#birleştirme-merge)\n- [🌐 Uzak Depolar](#uzak-depolar)\n- [📚 Geçmiş ve Loglar](#geçmiş-ve-loglar)\n- [🔍 Arama](#arama)\n- [📁 Taşıma/Yeniden Adlandırma](#taşımayeniden-adlandırma)\n- [🏷️ Etiketler (Tags)](#etiketler-tags)\n- [↩️ Değişiklikleri Geri Alma](#değişiklikleri-geri-alma)\n- [📦 Saklama (Stash)](#saklama-stash)\n- [🌊 Git Flow](#git-flow)\n- [💡 Faydalı İpuçları](#faydalı-i̇puçları)\n- [📚 Ek Kaynaklar](#ek-kaynaklar)\n- [🌍 Diğer Diller](#diğer-diller)\n- [🤝 Katkıda Bulunma](#katkıda-bulunma)\n- [📄 Lisans](#lisans)\n\n---\n\n## 🔧 İlk Kurulum\n\nGit'i kişisel bilgilerinizle yapılandırın:\n\n```bash\n# Kullanıcı adını ayarlama\ngit config --global user.name \"Adınız\"\n\n# E-posta adresini ayarlama\ngit config --global user.email \"email@example.com\"\n\n# Mevcut yapılandırmayı görme\ngit config --list\n\n# Varsayılan editörü ayarlama\ngit config --global core.editor \"nano\"\n\n# Birleştirme aracını ayarlama\ngit config --global merge.tool vimdiff\n```\n\n---\n\n## ⚙️ Yapılandırma Dosyaları\n\nGit, yapılandırmayı çeşitli seviyelerde yönetir:\n\n### Global yapılandırma dosyası\n```bash\n# Global yapılandırma dosyası yolu\n~/.gitconfig\n\n# Global yapılandırmayı düzenleme\ngit config --global --edit\n```\n\n### Depo yapılandırma dosyası\n```bash\n# Depo yapılandırma dosyası yolu\n.git/config\n\n# Depo yapılandırmasını düzenleme\ngit config --edit\n```\n\n### Sistem yapılandırması\n```bash\n# Sistem yapılandırma dosyası (yönetici izinleri gerekli)\n/etc/gitconfig\n\n# Sistem yapılandırmasını düzenleme\ngit config --system --edit\n```\n\n### Yararlı yapılandırma ayarları\n```bash\n# Renkli çıktıyı etkinleştirme\ngit config --global color.ui true\n\n# Varsayılan dal adını ayarlama\ngit config --global init.defaultBranch main\n\n# Satır sonu işleme (macOS/Linux)\ngit config --global core.autocrlf input\n\n# Satır sonu işleme (Windows)\ngit config --global core.autocrlf true\n```\n\n---\n\n## 📁 Depo Kurulumu\n\n### Yeni depo oluşturma:\n\n```bash\n# Yeni Git deposu oluşturma\ngit init\n\n# Mevcut depoyu klonlama\ngit clone <depo-url>\n\n# Belirli dizine klonlama\ngit clone <depo-url> <dizin-adı>\n```\n\n---\n\n## 📊 Durum Komutları\n\n### Deponuzun durumunu kontrol etme:\n\n```bash\n# Deponun mevcut durumunu gösterme\ngit status\n\n# Kısa formatta durum gösterme\ngit status -s\n\n# İzlenmeyen dosyaları yok sayarak durum gösterme\ngit status --ignored\n\n# Değiştirilmiş dosyalardaki farkları gösterme\ngit diff\n\n# Hazırlama alanındaki farkları gösterme\ngit diff --staged\n\n# Dallar arasındaki farkları gösterme\ngit diff <dal1> <dal2>\n```\n\n---\n\n## 📝 Dosya Yönetimi\n\n### Dosya ekleme ve kaldırma:\n\n```bash\n# Belirli dosyayı hazırlama alanına ekleme\ngit add <dosya>\n\n# Tüm değiştirilmiş dosyaları ekleme\ngit add .\n\n# Belirli türdeki tüm dosyaları ekleme\ngit add *.txt\n\n# Etkileşimli ekleme\ngit add -i\n\n# Dosyayı depo ve çalışma dizininden kaldırma\ngit rm <dosya>\n\n# Dosyayı sadece depodan kaldırma (dizinde tutma)\ngit rm --cached <dosya>\n\n# Dosya taşıma/yeniden adlandırma\ngit mv <kaynak-dosya> <hedef-dosya>\n```\n\n---\n\n## 💾 Commit'ler\n\n### Depoda değişiklikleri kaydetme:\n\n```bash\n# Mesajla commit yapma\ngit commit -m \"Commit mesajı\"\n\n# Tüm değiştirilmiş dosyaları ekleyerek commit yapma\ngit commit -am \"Commit mesajı\"\n\n# Son commit'i değiştirme\ngit commit --amend\n\n# Boş commit yapma (CI/CD tetikleyicileri için yararlı)\ngit commit --allow-empty -m \"CI Tetikleyici\"\n\n# Ayrıntılı mesajla commit yapma (editör açılır)\ngit commit\n```\n\n---\n\n## 🌿 Dal'lar (Branches)\n\n### Dallarla çalışma:\n\n```bash\n# Tüm dalları gösterme\ngit branch\n\n# Uzak dalları gösterme\ngit branch -r\n\n# Tüm dalları gösterme (yerel ve uzak)\ngit branch -a\n\n# Yeni dal oluşturma\ngit branch <dal-adı>\n\n# Dala geçiş yapma\ngit checkout <dal-adı>\n\n# Yeni dal oluşturup geçiş yapma\ngit checkout -b <dal-adı>\n\n# Belirli commit'ten dal oluşturma\ngit checkout -b <dal-adı> <commit-hash>\n\n# Dal silme\ngit branch -d <dal-adı>\n\n# Zorla dal silme\ngit branch -D <dal-adı>\n\n# Mevcut dalı yeniden adlandırma\ngit branch -m <yeni-ad>\n\n# Belirli dalı yeniden adlandırma\ngit branch -m <eski-ad> <yeni-ad>\n```\n\n---\n\n## 🔀 Birleştirme (Merge)\n\n### Dallar arasında değişiklikleri birleştirme:\n\n```bash\n# Mevcut dala başka dalı birleştirme\ngit merge <dal-adı>\n\n# Fast-forward olmadan birleştirme (merge commit oluşturma)\ngit merge --no-ff <dal-adı>\n\n# Sadece fast-forward olduğunda birleştirme\ngit merge --ff-only <dal-adı>\n\n# Devam eden birleştirmeyi iptal etme\ngit merge --abort\n\n# Çakışma çözümünden sonra birleştirmeye devam etme\ngit merge --continue\n```\n\n---\n\n## 🌐 Uzak Depolar\n\n### Uzak depo yönetimi:\n\n```bash\n# Uzak depoları gösterme\ngit remote\n\n# URL'lerle uzak depoları gösterme\ngit remote -v\n\n# Uzak depo ekleme\ngit remote add <ad> <url>\n\n# Uzak depo URL'ini değiştirme\ngit remote set-url <ad> <yeni-url>\n\n# Uzak depo kaldırma\ngit remote remove <ad>\n\n# Uzak depoya değişiklikleri gönderme\ngit push <uzak> <dal>\n\n# Dal göndererek takibi ayarlama\ngit push -u <uzak> <dal>\n\n# Tüm dalları gönderme\ngit push --all\n\n# Etiketleri gönderme\ngit push --tags\n\n# Uzak depodan değişiklikleri indirme\ngit pull <uzak> <dal>\n\n# Birleştirme olmadan değişiklikleri indirme\ngit fetch <uzak>\n\n# Tüm uzak dalları indirme\ngit fetch --all\n```\n\n---\n\n## 📚 Geçmiş ve Loglar\n\n### Commit geçmişini keşfetme:\n\n```bash\n# Commit geçmişini gösterme\ngit log\n\n# Commit başına bir satırda geçmiş gösterme\ngit log --oneline\n\n# Grafik ile geçmiş gösterme\ngit log --graph\n\n# Belirli dosyanın geçmişini gösterme\ngit log <dosya>\n\n# Commit istatistiklerini gösterme\ngit log --stat\n\n# Her commit'teki değişiklikleri gösterme\ngit log -p\n\n# Son N commit'i gösterme\ngit log -n <sayı>\n\n# Tarihler arasındaki commit'leri gösterme\ngit log --since=\"2023-01-01\" --until=\"2023-12-31\"\n\n# Yazara göre commit'leri gösterme\ngit log --author=\"Yazar Adı\"\n\n# Commit mesajlarında arama yapma\ngit log --grep=\"anahtar kelime\"\n```\n\n---\n\n## 🔍 Arama\n\n### İçerik ve geçmişte arama:\n\n```bash\n# İzlenen dosyalarda metin arama\ngit grep \"aranacak metin\"\n\n# Büyük/küçük harf duyarsız arama\ngit grep -i \"metin\"\n\n# Tam kelime arama\ngit grep -w \"kelime\"\n\n# Satır numaralarını gösterme\ngit grep -n \"metin\"\n\n# Sadece dosya adlarını gösterme\ngit grep -l \"metin\"\n\n# Belirli dosyalarda arama\ngit grep \"metin\" -- \"*.js\"\n\n# Commit geçmişinde arama\ngit log -S \"metin\" --source --all\n\n# Geçmişte ekleme/silme araması\ngit log -G \"regex_pattern\" --patch\n\n# Dosya adına göre arama\ngit log --all --full-history -- \"**/dosya_adi.*\"\n\n# Belirli commit'te arama\ngit grep \"metin\" <commit-hash>\n```\n\n---\n\n## 🏷️ Etiketler (Tags)\n\n### Sürüm etiketleri yönetimi:\n\n```bash\n# Tüm etiketleri gösterme\ngit tag\n\n# Hafif etiket oluşturma\ngit tag <etiket-adı>\n\n# Açıklamalı etiket oluşturma\ngit tag -a <etiket-adı> -m \"Etiket mesajı\"\n\n# Belirli commit'e etiket oluşturma\ngit tag -a <etiket-adı> <commit-hash>\n\n# Etiket bilgilerini gösterme\ngit show <etiket-adı>\n\n# Yerel etiket silme\ngit tag -d <etiket-adı>\n\n# Uzak etiket silme\ngit push --delete <uzak> <etiket-adı>\n\n# Belirli etiket gönderme\ngit push <uzak> <etiket-adı>\n\n# Tüm etiketleri gönderme\ngit push <uzak> --tags\n```\n\n---\n\n## 📁 Taşıma/Yeniden Adlandırma\n\n### Dosya ve dizin yönetimi:\n\n```bash\n# Dosya taşıma/yeniden adlandırma\ngit mv <eski-dosya> <yeni-dosya>\n\n# Dizin yeniden adlandırma\ngit mv <eski-dizin> <yeni-dizin>\n\n# Birden fazla dosyayı dizine taşıma\ngit mv dosya1.txt dosya2.txt dizin/\n\n# Büyük/küçük harf değişikliği (büyük/küçük harf duyarlı dosya sistemleri)\ngit mv dosyaadi.txt temp.txt\ngit mv temp.txt DosyaAdi.txt\n\n# Taşınan dosyanın geçmişini takip etme\ngit log --follow <dosya>\n\n# Taşınan dosyaları izleme\ngit log --stat -M\n\n# Yeniden adlandırma algılama eşiğini ayarlama\ngit log --follow -M90% <dosya>\n```\n\n---\n\n## ↩️ Değişiklikleri Geri Alma\n\n### Değişiklikleri geri almak:\n\n```bash\n# Belirli dosyadaki değişiklikleri iptal etme\ngit checkout <dosya>\n\n# Tüm commit edilmemiş değişiklikleri iptal etme\ngit checkout .\n\n# Dosyayı belirli sürüme geri getirme\ngit checkout <commit-hash> <dosya>\n\n# Dosyayı hazırlama alanından kaldırma\ngit reset <dosya>\n\n# Tüm dosyaları hazırlama alanından kaldırma\ngit reset\n\n# Önceki commit'e dönme (değişiklikleri koruma)\ngit reset --soft HEAD~1\n\n# Önceki commit'e dönme (değişiklikleri iptal etme)\ngit reset --hard HEAD~1\n\n# Belirli commit'e dönme\ngit reset --hard <commit-hash>\n\n# Başka commit'i iptal eden yeni commit oluşturma\ngit revert <commit-hash>\n\n# Birden fazla commit'i geri alma\ngit revert <hash-başlangıç>..<hash-bitiş>\n```\n\n---\n\n## 📦 Saklama (Stash)\n\n### Geçici olarak çalışmayı saklama:\n\n```bash\n# Mevcut değişiklikleri stash'e saklama\ngit stash\n\n# Açıklayıcı mesajla saklama\ngit stash save \"Açıklayıcı mesaj\"\n\n# Tüm stash'leri gösterme\ngit stash list\n\n# Son stash'i uygulama\ngit stash apply\n\n# Belirli stash'i uygulama\ngit stash apply stash@{0}\n\n# Son stash'i uygulayıp silme\ngit stash pop\n\n# Belirli stash'i silme\ngit stash drop stash@{0}\n\n# Tüm stash'leri silme\ngit stash clear\n\n# Stash'teki değişiklikleri gösterme\ngit stash show stash@{0}\n\n# Stash'ten dal oluşturma\ngit stash branch <dal-adı> stash@{0}\n```\n\n---\n\n## 🌊 Git Flow\n\nGit Flow, proje yayınları etrafında tasarlanmış katı bir iş akışı tanımlayan dallanma modelidir.\n\n### Ana dallar:\n- **master/main**: Üretim kodu\n- **develop**: Ana geliştirme dalı\n\n### Destek dalları:\n- **feature**: Yeni özellikler için\n- **release**: Yeni sürüm hazırlığı için\n- **hotfix**: Üretimde acil düzeltmeler için\n\n### Git Flow komutları:\n\n```bash\n# git flow başlatma\ngit flow init\n\n# Yeni özellik başlatma\ngit flow feature start <özellik-adı>\n\n# Özelliği bitirme\ngit flow feature finish <özellik-adı>\n\n# Özelliği yayınlama\ngit flow feature publish <özellik-adı>\n\n# Sürüm başlatma\ngit flow release start <sürüm>\n\n# Sürümü bitirme\ngit flow release finish <sürüm>\n\n# Hotfix başlatma\ngit flow hotfix start <sürüm>\n\n# Hotfix'i bitirme\ngit flow hotfix finish <sürüm>\n```\n\n### Git Flow olmadan iş akışı:\n\n![Git Flow Commands](../Img/git-flow-commands-without-flow.png)\n\n```bash\n# Özellik dalı oluşturma\ngit checkout develop\ngit checkout -b feature/yeni-özellik\n\n# Özellik üzerinde çalışma\ngit add .\ngit commit -m \"Yeni özellik ekle\"\n\n# Develop'a özellik birleştirme\ngit checkout develop\ngit merge --no-ff feature/yeni-özellik\ngit branch -d feature/yeni-özellik\n\n# Sürüm dalı oluşturma\ngit checkout develop\ngit checkout -b release/1.0.0\n\n# Sürümü tamamlama\ngit checkout master\ngit merge --no-ff release/1.0.0\ngit tag -a 1.0.0 -m \"Sürüm 1.0.0\"\ngit checkout develop\ngit merge --no-ff release/1.0.0\ngit branch -d release/1.0.0\n```\n\n---\n\n## 💡 Faydalı İpuçları\n\n### Faydalı kısayollar:\n\n```bash\n# Faydalı kısayolları ayarlama\ngit config --global alias.st status\ngit config --global alias.co checkout\ngit config --global alias.br branch\ngit config --global alias.ci commit\ngit config --global alias.unstage 'reset HEAD --'\ngit config --global alias.last 'log -1 HEAD'\ngit config --global alias.visual '!gitk'\n```\n\n### .gitignore dosyaları:\n\n```bash\n# .gitignore dosyası oluşturma\necho \"node_modules/\" >> .gitignore\necho \"*.log\" >> .gitignore\necho \".env\" >> .gitignore\n\n# Zaten izlenen dosyaları yok sayma\ngit rm --cached <dosya>\necho \"<dosya>\" >> .gitignore\ngit add .gitignore\ngit commit -m \".gitignore'a dosya ekle\"\n```\n\n---\n\n## 📚 Ek Kaynaklar\n\n### Resmi Dokümantasyon ve Rehberler\n- [Git Resmi Dokümantasyonu](https://git-scm.com/doc)\n- [Pro Git Kitabı (ücretsiz)](https://git-scm.com/book)\n- [Git Referans Kılavuzu](https://git-scm.com/docs)\n- [Git Eğitimi](https://git-scm.com/docs/gittutorial)\n\n### Çevrimiçi Öğrenme Materyalleri\n- [GitHub Git El Kitabı](https://guides.github.com/introduction/git-handbook/)\n- [Atlassian Git Eğitimleri](https://www.atlassian.com/git/tutorials)\n- [Learn Git Branching (etkileşimli)](https://learngitbranching.js.org/)\n- [Git Immersion](http://gitimmersion.com/)\n\n### GUI Araçları\n- [GitHub Desktop](https://desktop.github.com/)\n- [GitKraken](https://www.gitkraken.com/)\n- [SourceTree](https://www.sourcetreeapp.com/)\n- [Tower](https://www.git-tower.com/)\n\n### İleri Düzey Konular\n- [Git Hooks](https://git-scm.com/book/en/v2/Customizing-Git-Git-Hooks)\n- [Git İş Akışları](https://www.atlassian.com/git/tutorials/comparing-workflows)\n- [Git İç Yapısı](https://git-scm.com/book/en/v2/Git-Internals-Plumbing-and-Porcelain)\n\n---\n\n## 🌍 Diğer Diller\n\nBu Git Cheat Sheet aşağıdaki dillerde mevcuttur:\n\n- 🇺🇸 [English](../README.md)\n- 🇸🇦 [العربية](git-cheat-sheet-ar.md)\n- 🇧🇩 [বাংলা](git-cheat-sheet-bn.md)\n- 🇩🇪 [Deutsch](git-cheat-sheet-de.md)\n- 🇬🇷 [Ελληνικά](git-cheat-sheet-el.md)\n- 🇪🇸 [Español](git-cheat-sheet-es.md)\n- 🇮🇳 [हिन्दी](git-cheat-sheet-hi.md)\n- 🇰🇷 [한국어](git-cheat-sheet-ko.md)\n- 🇵🇱 [Polski](git-cheat-sheet-pl.md)\n- 🇧🇷 [Português](git-cheat-sheet-pt_BR.md)\n- 🇹🇷 **Türkçe** (mevcut)\n- 🇨🇳 [中文](git-cheat-sheet-zh.md)\n\n---\n\n## 🤝 Katkıda Bulunma\n\nKatkıları memnuniyetle karşılıyoruz! Bu projeyi iyileştirmeye yardımcı olmak için:\n\n1. **Sorunları bildirin**: Hataları veya iyileştirme önerilerini paylaşın\n2. **Yeni diller ekleyin**: Çeviriler oluşturun veya mevcut olanları geliştirin\n3. **İçeriği iyileştirin**: Yeni komutlar, örnekler veya açıklamalar ekleyin\n4. **Geri bildirim verin**: Deneyimlerinizi ve önerilerinizi paylaşın\n\n### Nasıl katkıda bulunulur:\n- [GitHub'da sorun açın](https://github.com/arslanbilal/git-cheat-sheet/issues)\n- Pull request gönderin\n- Dokümantasyon iyileştirmeleri önerin\n\n---\n\n## 📄 Lisans\n\nBu proje MIT Lisansı altında lisanslanmıştır. Ayrıntılar için [LICENSE](../LICENSE) dosyasına bakın.\n\n---\n\n<div align=\"center\">\n  <strong>⭐ Bu cheat sheet yararlı olduğunda yıldızlayın!</strong><br>\n  <em>Git ile mutlu kodlamalar! 🚀</em>\n</div>\n"
  },
  {
    "path": "other-sheets/git-cheat-sheet-zh.md",
    "content": "# Git Cheat Sheet 中文\n\n![Git Logo](../Img/git-logo.png)\n\n这个全面的Git速查表帮助您掌握Git命令而无需记住所有内容。无论您是初学者还是经验丰富的开发者，本指南都为基本的Git操作提供快速参考。\n\n**欢迎贡献！** 请随意：\n- 修正语法错误\n- 添加新命令\n- 翻译成您的语言\n- 改进说明\n\n---\n\n## 📋 目录\n\n- [📖 关于](#-关于)\n- [🔧 设置](#-设置)\n- [⚙️ 配置文件](#️-配置文件)\n- [🆕 创建仓库](#-创建仓库)\n- [📝 本地更改](#-本地更改)\n- [🔍 搜索](#-搜索)\n- [📖 提交历史](#-提交历史)\n- [📁 移动 / 重命名](#-移动--重命名)\n- [🌿 分支和标签](#-分支和标签)\n- [🔄 更新和发布](#-更新和发布)\n- [🔀 合并和变基](#-合并和变基)\n- [↩️ 撤销](#️-撤销)\n- [🌊 Git Flow](#-git-flow)\n- [📚 附加资源](#-附加资源)\n- [🌍 其他语言](#-其他语言)\n- [🤝 贡献](#-贡献)\n- [📄 许可证](#-许可证)\n\n---\n\n## 🔧 设置\n\n### 查看配置\n\n**显示当前配置：**\n```bash\ngit config --list\n```\n\n**显示仓库配置：**\n```bash\ngit config --local --list\n```\n\n**显示全局配置：**\n```bash\ngit config --global --list\n```\n\n**显示系统配置：**\n```bash\ngit config --system --list\n```\n\n### 用户配置\n\n**设置版本历史的姓名：**\n```bash\ngit config --global user.name \"[姓名]\"\n```\n\n**设置电子邮件地址：**\n```bash\ngit config --global user.email \"[有效邮箱]\"\n```\n\n### 显示和编辑器设置\n\n**启用自动命令行着色：**\n```bash\ngit config --global color.ui auto\n```\n\n**设置全局提交编辑器：**\n```bash\ngit config --global core.editor vi\n```\n\n---\n\n## ⚙️ 配置文件\n\n| 范围 | 位置 | 命令标志 |\n|------|------|----------|\n| **仓库** | `<repo>/.git/config` | `--local` |\n| **用户** | `~/.gitconfig` | `--global` |\n| **系统** | `/etc/gitconfig` | `--system` |\n\n---\n\n## 🆕 创建仓库\n\n### 克隆现有仓库\n\n**通过SSH：**\n```bash\ngit clone ssh://用户@域名.com/repo.git\n```\n\n**通过HTTPS：**\n```bash\ngit clone https://域名.com/用户/repo.git\n```\n\n### 初始化新仓库\n\n**在当前目录创建仓库：**\n```bash\ngit init\n```\n\n**在指定目录创建仓库：**\n```bash\ngit init <目录>\n```\n\n---\n\n## 📝 本地更改\n\n### 检查状态和差异\n\n**查看工作目录状态：**\n```bash\ngit status\n```\n\n**显示跟踪文件的更改：**\n```bash\ngit diff\n```\n\n**显示特定文件的更改：**\n```bash\ngit diff <文件>\n```\n\n### 暂存更改\n\n**添加所有当前更改：**\n```bash\ngit add .\n```\n\n**添加特定文件：**\n```bash\ngit add <文件1> <文件2>\n```\n\n**交互式添加文件的部分内容：**\n```bash\ngit add -p <文件>\n```\n\n### 提交更改\n\n**提交所有跟踪文件的更改：**\n```bash\ngit commit -a\n```\n\n**提交暂存的更改：**\n```bash\ngit commit\n```\n\n**带消息提交：**\n```bash\ngit commit -m '这里是消息'\n```\n\n**跳过暂存并带消息提交：**\n```bash\ngit commit -am '这里是消息'\n```\n\n**以特定日期提交：**\n```bash\ngit commit --date=\"`date --date='n day ago'`\" -am \"<提交消息>\"\n```\n\n### 修改最后一次提交\n\n> ⚠️ **警告：** 不要修改已发布的提交！\n\n**修正最后一次提交：**\n```bash\ngit commit -a --amend\n```\n\n**修正而不更改提交消息：**\n```bash\ngit commit --amend --no-edit\n```\n\n**更改提交者日期：**\n```bash\nGIT_COMMITTER_DATE=\"日期\" git commit --amend\n```\n\n**更改作者日期：**\n```bash\ngit commit --amend --date=\"日期\"\n```\n\n### 暂存更改\n\n**临时保存当前更改：**\n```bash\ngit stash\n```\n\n**应用最后保存的更改：**\n```bash\ngit stash apply\n```\n\n**应用特定的暂存：**\n```bash\ngit stash apply stash@{暂存号}\n```\n> 使用 `git stash list` 查看可用的暂存\n\n**删除最后一个暂存：**\n```bash\ngit stash drop\n```\n\n**将未提交的更改移动到另一个分支：**\n```bash\ngit stash\ngit checkout 分支2\ngit stash pop\n```\n\n---\n\n## 🔍 搜索\n\n### 文本搜索\n\n**在所有文件中搜索文本：**\n```bash\ngit grep \"你好\"\n```\n\n**在特定版本中搜索：**\n```bash\ngit grep \"你好\" v2.5\n```\n\n### 提交搜索\n\n**查找引入特定关键字的提交：**\n```bash\ngit log -S '关键字'\n```\n\n**使用正则表达式搜索：**\n```bash\ngit log -S '关键字' --pickaxe-regex\n```\n\n---\n\n## 📖 提交历史\n\n### 基本历史\n\n**显示所有提交（详细）：**\n```bash\ngit log\n```\n\n**显示提交（每行一个）：**\n```bash\ngit log --oneline\n```\n\n**显示特定作者的提交：**\n```bash\ngit log --author=\"用户名\"\n```\n\n**显示特定文件的更改：**\n```bash\ngit log -p <文件>\n```\n\n### 高级历史\n\n**比较分支：**\n```bash\ngit log --oneline <origin/master>..<remote/master> --left-right\n```\n\n**显示谁何时更改了什么：**\n```bash\ngit blame <文件>\n```\n\n### 引用日志\n\n**显示引用日志：**\n```bash\ngit reflog show\n```\n\n**删除引用日志：**\n```bash\ngit reflog delete\n```\n\n---\n\n## 📁 移动 / 重命名\n\n**重命名文件：**\n```bash\ngit mv Index.txt Index.html\n```\n\n---\n\n## 🌿 分支和标签\n\n### 列出分支\n\n**列出本地分支：**\n```bash\ngit branch\n```\n\n**列出所有分支（本地+远程）：**\n```bash\ngit branch -a\n```\n\n**列出远程分支：**\n```bash\ngit branch -r\n```\n\n**列出已合并的分支：**\n```bash\ngit branch --merged\n```\n\n### 切换和创建分支\n\n**切换到现有分支：**\n```bash\ngit checkout <分支>\n```\n\n**创建并切换到新分支：**\n```bash\ngit checkout -b <分支>\n```\n\n**切换到上一个分支：**\n```bash\ngit checkout -\n```\n\n**从现有分支创建分支：**\n```bash\ngit checkout -b <新分支> <现有分支>\n```\n\n**从特定提交创建分支：**\n```bash\ngit checkout <提交哈希> -b <新分支名>\n```\n\n**创建分支但不切换：**\n```bash\ngit branch <新分支>\n```\n\n**创建跟踪分支：**\n```bash\ngit branch --track <新分支> <远程分支>\n```\n\n### 分支操作\n\n**从不同分支检出单个文件：**\n```bash\ngit checkout <分支> -- <文件名>\n```\n\n**应用另一个分支的特定提交：**\n```bash\ngit cherry-pick <提交哈希>\n```\n\n**重命名当前分支：**\n```bash\ngit branch -m <新分支名>\n```\n\n**删除本地分支：**\n```bash\ngit branch -d <分支>\n```\n\n**强制删除本地分支：**\n```bash\ngit branch -D <分支>\n```\n> ⚠️ **警告：** 您将丢失未合并的更改！\n\n### 标签\n\n**在HEAD创建标签：**\n```bash\ngit tag <标签名>\n```\n\n**创建注释标签：**\n```bash\ngit tag -a <标签名>\n```\n\n**创建带消息的标签：**\n```bash\ngit tag <标签名> -am '这里是消息'\n```\n\n**列出所有标签：**\n```bash\ngit tag\n```\n\n**列出带消息的标签：**\n```bash\ngit tag -n\n```\n\n---\n\n## 🔄 更新和发布\n\n### 远程管理\n\n**列出配置的远程：**\n```bash\ngit remote -v\n```\n\n**显示远程信息：**\n```bash\ngit remote show <远程>\n```\n\n**添加新远程：**\n```bash\ngit remote add <远程> <网址>\n```\n\n**重命名远程：**\n```bash\ngit remote rename <远程> <新远程>\n```\n\n**删除远程：**\n```bash\ngit remote rm <远程>\n```\n> ℹ️ **注意：** 这只是在本地删除远程引用，不是远程仓库本身。\n\n### 获取和拉取\n\n**下载更改而不合并：**\n```bash\ngit fetch <远程>\n```\n\n**下载并合并更改：**\n```bash\ngit pull <远程> <分支>\n```\n\n**从主分支获取更改：**\n```bash\ngit pull origin master\n```\n\n**使用变基拉取：**\n```bash\ngit pull --rebase <远程> <分支>\n```\n\n### 推送和发布\n\n**发布本地更改：**\n```bash\ngit push <远程> <分支>\n```\n\n**删除远程分支：**\n```bash\n# Git v1.7.0+\ngit push <远程> --delete <分支>\n\n# Git v1.5.0+\ngit push <远程> :<分支>\n```\n\n**发布标签：**\n```bash\ngit push --tags\n```\n\n---\n\n## 🔀 合并和变基\n\n### 合并操作\n\n**将分支合并到当前HEAD：**\n```bash\ngit merge <分支>\n```\n\n**全局配置合并工具：**\n```bash\ngit config --global merge.tool meld\n```\n\n**使用配置的合并工具：**\n```bash\ngit mergetool\n```\n\n### 变基操作\n\n> ⚠️ **警告：** 不要变基已发布的提交！\n\n**将当前HEAD变基到分支：**\n```bash\ngit rebase <分支>\n```\n\n**中止变基：**\n```bash\ngit rebase --abort\n```\n\n**解决冲突后继续变基：**\n```bash\ngit rebase --continue\n```\n\n### 冲突解决\n\n**标记文件为已解决：**\n```bash\ngit add <已解决文件>\n```\n\n**删除已解决文件：**\n```bash\ngit rm <已解决文件>\n```\n\n### 压缩提交\n\n**交互式变基进行压缩：**\n```bash\ngit rebase -i <第一个提交之前的提交>\n```\n\n**压缩配置示例：**\n```\n# 之前\npick <提交id>\npick <提交id2>\npick <提交id3>\n\n# 之后（将提交id2和提交id3压缩到提交id）\npick <提交id>\nsquash <提交id2>\nsquash <提交id3>\n```\n\n---\n\n## ↩️ 撤销\n\n### 丢弃更改\n\n**丢弃所有本地更改：**\n```bash\ngit reset --hard HEAD\n```\n\n**从暂存区移除所有文件：**\n```bash\ngit reset HEAD\n```\n\n**丢弃特定文件的更改：**\n```bash\ngit checkout HEAD <文件>\n```\n\n### 重置操作\n\n**重置到上一个提交（丢弃所有更改）：**\n```bash\ngit reset --hard <提交>\n```\n\n**重置到远程分支状态：**\n```bash\ngit reset --hard <远程/分支>\n# 示例：git reset --hard upstream/master\n```\n\n**重置保持更改为未暂存：**\n```bash\ngit reset <提交>\n```\n\n**重置保持本地未提交更改：**\n```bash\ngit reset --keep <提交>\n```\n\n### 还原提交\n\n**还原提交（创建具有相反更改的新提交）：**\n```bash\ngit revert <提交>\n```\n\n### 清理忽略的文件\n\n**删除意外提交的应该被忽略的文件：**\n```bash\ngit rm -r --cached .\ngit add .\ngit commit -m \"删除忽略的文件\"\n```\n\n---\n\n## 🌊 Git Flow\n\n**改进的Git-flow：** [git-flow-avh](https://github.com/petervanderdoes/gitflow-avh)\n\n### 📋 目录\n- [🔧 设置](#设置-1)\n- [🚀 开始](#开始)\n- [✨ 功能](#功能)\n- [🎁 制作发布](#制作发布)\n- [🔥 热修复](#热修复)\n- [📊 命令概览](#命令概览)\n\n---\n\n### 🔧 设置 {#设置-1}\n\n> **先决条件：** 需要可工作的Git安装。Git-flow可在macOS、Linux和Windows上运行。\n\n**macOS (Homebrew)：**\n```bash\nbrew install git-flow-avh\n```\n\n**macOS (MacPorts)：**\n```bash\nport install git-flow\n```\n\n**Linux (基于Debian)：**\n```bash\nsudo apt-get install git-flow\n```\n\n**Windows (Cygwin)：**\n> 需要wget和util-linux\n```bash\nwget -q -O - --no-check-certificate https://raw.githubusercontent.com/petervanderdoes/gitflow/develop/contrib/gitflow-installer.sh install <state> | bash\n```\n\n---\n\n### 🚀 开始\n\nGit-flow需要初始化以自定义您的项目设置。\n\n**初始化（交互式）：**\n```bash\ngit flow init\n```\n> 您将回答关于分支命名约定的问题。建议使用默认值。\n\n**初始化（使用默认值）：**\n```bash\ngit flow init -d\n```\n\n---\n\n### ✨ 功能\n\n功能用于开发即将发布的新功能。它们通常只存在于开发者仓库中。\n\n**开始新功能：**\n```bash\ngit flow feature start 我的功能\n```\n> 基于'develop'创建功能分支并切换到它\n\n**完成功能：**\n```bash\ngit flow feature finish 我的功能\n```\n> 这将：\n> 1. 将我的功能合并到'develop'\n> 2. 删除功能分支\n> 3. 切换回'develop'\n\n**发布功能（用于协作）：**\n```bash\ngit flow feature publish 我的功能\n```\n\n**获取已发布的功能：**\n```bash\ngit flow feature pull origin 我的功能\n```\n\n**跟踪源功能：**\n```bash\ngit flow feature track 我的功能\n```\n\n---\n\n### 🎁 制作发布\n\n发布支持新生产版本的准备，允许小的错误修复和准备元数据。\n\n**开始发布：**\n```bash\ngit flow release start 发布 [基础]\n```\n> 从'develop'创建发布分支。可选择指定[基础]提交SHA-1。\n\n**发布版本：**\n```bash\ngit flow release publish 发布\n```\n\n**跟踪远程发布：**\n```bash\ngit flow release track 发布\n```\n\n**完成发布：**\n```bash\ngit flow release finish 发布\n```\n> 这将：\n> 1. 将发布分支合并到'master'\n> 2. 标记发布\n> 3. 将发布合并回'develop'\n> 4. 删除发布分支\n\n> 💡 **别忘了：** 使用 `git push --tags` 推送您的标签\n\n---\n\n### 🔥 热修复\n\n热修复解决在线生产版本中的关键问题。它们从master上的相应标签分支。\n\n**开始热修复：**\n```bash\ngit flow hotfix start 版本 [基础名称]\n```\n\n**完成热修复：**\n```bash\ngit flow hotfix finish 版本\n```\n> 合并回'develop'和'master'，并标记master合并\n\n---\n\n### 📊 命令概览\n\n<p align=\"center\">\n    <img alt=\"Git Flow命令\" src=\"../Img/git-flow-commands.png\" height=\"270\" width=\"460\">\n</p>\n\n### 🌊 Git Flow模式\n\n<p align=\"center\">\n    <img alt=\"Git Flow模式\" src=\"../Img/git-flow-commands-without-flow.png\">\n</p>\n\n---\n\n## 📚 附加资源\n\n### 官方文档和指南\n- [Git官方文档](https://git-scm.com/doc)\n- [Pro Git书籍（免费）](https://git-scm.com/book/zh)\n- [Git参考手册](https://git-scm.com/docs)\n- [Git教程](https://git-scm.com/docs/gittutorial)\n\n### 在线学习资料\n- [GitHub Git手册](https://guides.github.com/introduction/git-handbook/)\n- [Atlassian Git教程](https://www.atlassian.com/git/tutorials)\n- [Learn Git Branching（交互式）](https://learngitbranching.js.org/?locale=zh_CN)\n- [Git Immersion](http://gitimmersion.com/)\n\n### GUI工具\n- [GitHub Desktop](https://desktop.github.com/)\n- [GitKraken](https://www.gitkraken.com/)\n- [SourceTree](https://www.sourcetreeapp.com/)\n- [Tower](https://www.git-tower.com/)\n\n### 高级主题\n- [Git Hooks](https://git-scm.com/book/zh/v2/自定义-Git-Git-钩子)\n- [Git工作流程](https://www.atlassian.com/git/tutorials/comparing-workflows)\n- [Git内部原理](https://git-scm.com/book/zh/v2/Git-内部原理-底层命令与上层命令)\n\n---\n\n## 🌍 其他语言\n\n此速查表提供多种语言版本：\n\n| 语言 | 链接 |\n|------|------|\n| 🇺🇸 英语 | [README.md](../README.md) |\n| 🇸🇦 阿拉伯语 | [git-cheat-sheet-ar.md](./git-cheat-sheet-ar.md) |\n| 🇧🇩 孟加拉语 | [git-cheat-sheet-bn.md](./git-cheat-sheet-bn.md) |\n| 🇧🇷 巴西葡萄牙语 | [git-cheat-sheet-pt_BR.md](./git-cheat-sheet-pt_BR.md) |\n| 🇩🇪 德语 | [git-cheat-sheet-de.md](./git-cheat-sheet-de.md) |\n| 🇪🇸 西班牙语 | [git-cheat-sheet-es.md](./git-cheat-sheet-es.md) |\n| 🇬🇷 希腊语 | [git-cheat-sheet-el.md](./git-cheat-sheet-el.md) |\n| 🇮🇳 印地语 | [git-cheat-sheet-hi.md](./git-cheat-sheet-hi.md) |\n| 🇰🇷 韩语 | [git-cheat-sheet-ko.md](./git-cheat-sheet-ko.md) |\n| 🇵🇱 波兰语 | [git-cheat-sheet-pl.md](./git-cheat-sheet-pl.md) |\n| 🇹🇷 土耳其语 | [git-cheat-sheet-tr.md](./git-cheat-sheet-tr.md) |\n\n---\n\n## 🤝 贡献\n\n我们欢迎贡献！您可以：\n\n- 🐛 报告错误或拼写错误\n- ✨ 添加新的Git命令\n- 🌍 翻译成新语言\n- 💡 改进说明\n- 📝 增强格式\n\n**如何贡献：**\n1. Fork这个仓库\n2. 创建您的功能分支 (`git checkout -b feature/神奇功能`)\n3. 提交您的更改 (`git commit -m '添加一些神奇功能'`)\n4. 推送到分支 (`git push origin feature/神奇功能`)\n5. 打开Pull Request\n\n---\n\n## 📄 许可证\n\n此项目是开源的，在[MIT许可证](LICENSE)下可用。\n\n---\n\n<p align=\"center\">\n    <b>⭐ 如果这个仓库对您有帮助，请给它加星！</b>\n</p>\n"
  }
]