[!TIP] این فایل Dictionary نیست؛ هدفش این است که وقتی اصطلاحی در Mission دیدی، سریع مدل ذهنی درست آن را بازیابی کنی.
| اصطلاح | تعریف ساده |
|---|---|
| Repository | پوشهای که Git تاریخچهی تغییراتش را دنبال میکند |
| Local Repository | نسخهی Git روی سیستم خودت |
| Remote Repository | نسخهی Repository روی سرویسهایی مثل GitHub/GitLab |
| Origin | نام رایج Remote اصلی |
| Working Directory | فایلهایی که الان در حال ویرایششان هستی |
| Staging Area | محل انتخاب تغییراتی که قرار است Commit شوند |
| Commit | یک Snapshot معنیدار از تغییرات انتخابشده |
| Commit Hash | شناسهی یکتای Commit |
| Branch | مسیر مستقل برای توسعهی یک تغییر |
| Main | شاخهی اصلی و معمولاً پایدار پروژه |
| Push | فرستادن Commitهای Local به Remote |
| Fetch | گرفتن اطلاعات جدید Remote بدون ادغام خودکار در Branch فعلی |
| Pull | دریافت تغییرات Remote و تلاش برای ادغام با Branch فعلی |
| Pull Request | درخواست بررسی و ادغام تغییرات یک Branch به Branch دیگر |
| Merge | ترکیب تاریخچه یا تغییرات دو Branch |
| Conflict | موقعیتی که Git برای ترکیب تغییرات نیاز به تصمیم انسان دارد |
| Revert | ساخت Commit جدید برای خنثیکردن اثر Commit قبلی |
Working Directory → چیزی که ویرایش کردهای
Staging Area → چیزی که برای Commit انتخاب کردهای
Local Repository → Commitهایی که روی سیستم تو ثبت شدهاند
Remote Repository → History منتشرشده روی Server
origin اسم جادویی یا اجباری نیست؛ فقط نام رایجی است که Git هنگام Clone برای Remote اصلی میسازد.
Commit صرفاً «نسخهی فایل» نیست. بهتر است آن را یک Snapshot از وضعیت Trackشدهی پروژه به همراه Metadata و ارتباط تاریخی تصور کنی.
Branch را مثل «کپی کامل پروژه» تصور نکن. در مدل Git، Branch در اصل یک Reference سبک به یک Commit است که با Commitهای جدید حرکت میکند.
HEAD معمولاً نشان میدهد الان روی کدام Branch / Commit قرار داری.
HEAD
↓
main
↓
A ── B ── C
Pull Request خودش دستور Git نیست. یک Workflow در پلتفرمهایی مثل GitHub/GitLab برای Review، Discussion و Merge کردن تغییرات است.
files
↓
working tree
↓ select
staging area
↓ snapshot
commit
↓ publish
remote
██████╗██╗ ██╗██████╗ ███████╗██████╗ ███╗ ██╗██╗████████╗██╗ ██╗
██╔════╝╚██╗ ██╔╝██╔══██╗██╔════╝██╔══██╗████╗ ██║██║╚══██╔══╝██║ ██║
██║ ╚████╔╝ ██████╔╝█████╗ ██████╔╝██╔██╗ ██║██║ ██║ ███████║
██║ ╚██╔╝ ██╔══██╗██╔══╝ ██╔══██╗██║╚██╗██║██║ ██║ ██╔══██║
╚██████╗ ██║ ██████╔╝███████╗██║ ██║██║ ╚████║██║ ██║ ██║ ██║
╚═════╝ ╚═╝ ╚═════╝ ╚══════╝╚═╝ ╚═╝╚═╝ ╚═══╝╚═╝ ╚═╝ ╚═╝ ╚═╝
C Y B E R N I T H
Crafted & maintained by Soroosh Morshedi
🌐 sorooshmorshedi.ir · Instagram @cybernith · LinkedIn sorooshMorshedi
Built with curiosity, discipline, and a suspiciously large amount of Git history.