| GIT-INIT(1) | دستورات عمومی کاربر | GIT-INIT(1) |
نام (NAME)
git-init - ایجاد یک مخزن خالی گیت یا مقداردهی اولیه مجدد یک مخزن موجود
خلاصه دستور (SYNOPSIS)
git init [-q | --quiet] [--bare] [--template=<template-directory>]
[--separate-git-dir <git-dir>] [--object-format=<format>]
[--ref-format=<format>]
[-b <branch-name> | --initial-branch=<branch-name>]
[--shared[=<permissions>]] [<directory>]
توضیحات (DESCRIPTION)
این دستور یک مخزن خالی گیت ایجاد میکند - اساساً یک دایرکتوری .git به همراه زیرپوشههایی برای objects، refs/heads، refs/tags و فایلهای الگو. یک شاخه اولیه بدون هیچ کامیتی ایجاد خواهد شد (برای نام آن به گزینه --initial-branch در زیر مراجعه کنید).
اگر متغیر محیطی GIT_DIR تنظیم شده باشد، مسیری را مشخص میکند که باید بهجای ./.git به عنوان پایه مخزن استفاده شود.
اگر دایرکتوری ذخیرهسازی اشیاء از طریق متغیر محیطی GIT_OBJECT_DIRECTORY مشخص شده باشد، دایرکتوریهای sha1 در زیر آن ایجاد میشوند؛ در غیر این صورت، از دایرکتوری پیشفرض $GIT_DIR/objects استفاده میشود.
اجرای git init در یک مخزن موجود بیخطر است. این دستور مواردی را که از قبل وجود دارند بازنویسی نمیکند. دلیل اصلی اجرای مجدد git init دریافت الگوهای تازه اضافهشده است (یا انتقال مخزن به مکانی دیگر در صورت مشخص شدن --separate-git-dir).
گزینهها (OPTIONS)
-q, --quiet
--bare
--object-format=<format>
توجه: در حال حاضر، هیچگونه تعاملپذیری میان مخازن SHA-256 و مخازن SHA-1 وجود ندارد.
از نظر تاریخی، ما هشدار میدادیم که ممکن است مخازن SHA-256 بعدها هنگام معرفی چنین قابلیتهای تعاملپذیری به تغییرات ناسازگار با گذشته نیاز داشته باشند. امروزه ما فقط انتظار تغییرات سازگار را داریم. علاوه بر این، اگر چنین تغییراتی ضروری تشخیص داده شوند، میتوان انتظار داشت که مخازن SHA-256 ایجادشده با نسخه کنونی گیت توسط نسخههای آینده گیت بدون از دست رفتن دادهها قابل استفاده باشند.
--ref-format=<format>
files
reftable
--template=<template-directory>
--separate-git-dir=<git-dir>
اگر این یک مقداردهی اولیه مجدد باشد، مخزن به مسیر مشخصشده منتقل خواهد شد.
-b <branch-name>, --initial-branch=<branch-name>
--shared[=(false|true|umask|group|all|world|everybody|<perm>)]
این گزینه میتواند مقادیر زیر را داشته باشد، که در صورت عدم تعیین مقدار، به صورت پیشفرض group خواهد بود:
umask, false
group, true
all, world, everybody
<perm>
بهطور پیشفرض، فلگ پیکربندی receive.denyNonFastForwards در مخازن اشتراکی فعال است، تا نتوانید یک push بدون پیشروی سریع را به آن تحمیل کنید.
اگر یک <directory> ارائه دهید، دستور در داخل آن اجرا میشود. اگر این دایرکتوری وجود نداشته باشد، ایجاد خواهد شد.
دایرکتوری الگو (TEMPLATE DIRECTORY)
فایلها و دایرکتوریهای موجود در دایرکتوری الگو که نام آنها با نقطه شروع نمیشود، پس از ایجاد $GIT_DIR در آن کپی خواهند شد.
دایرکتوری الگو یکی از موارد زیر (به ترتیب) خواهد بود:
دایرکتوری پیشفرض الگو شامل ساختار دایرکتوری، «الگوهای نادیدهگیری» پیشنهادی (به gitignore(5) مراجعه کنید)، و فایلهای هوک نمونه است.
هوکهای نمونه همگی بهطور پیشفرض غیرفعال هستند. برای فعالسازی یکی از هوکهای نمونه، آن را با حذف پسوند .sample تغییر نام دهید.
برای اطلاعات عمومیتر در مورد اجرای هوکها به githooks(5) مراجعه کنید.
مثالها (EXAMPLES)
شروع یک مخزن جدید گیت برای یک پایهکد موجود
$ cd /path/to/my/codebase $ git init (1) $ git add . (2) $ git commit (3)
| 1. | ایجاد یک دایرکتوری /path/to/my/codebase/.git. |
| 2. | افزودن تمام فایلهای موجود به ایندکس. |
| 3. | ثبت وضعیت اولیه به عنوان اولین کامیت در تاریخچه. |
پیکربندی (CONFIGURATION)
تمام موارد زیر این خط در این بخش به طور گزینشی از مستندات git-config(1) گنجانده شده است. محتوای آن همان چیزی است که در آنجا یافت میشود:
init.templateDir
init.defaultBranch
init.defaultObjectFormat
init.defaultRefFormat
init.defaultSubmodulePathConfig
گیت (GIT)
بخشی از مجموعه git(1)
| 2026-06-29 | Git 2.55.0 |