GIT-MV(1) Git Manual GIT-MV(1)

git-mv - انتقال یا تغییر نام یک فایل، دایرکتوری یا پیوند نمادین

git mv [-v] [-f] [-n] [-k] <source> <destination>
git mv [-v] [-f] [-n] [-k] <source>... <destination-directory>

انتقال یا تغییر نام یک فایل، دایرکتوری یا پیوند نمادین (symlink).

در حالت اول، <source> را که باید موجود بوده و فایل، پیوند نمادین یا دایرکتوری باشد، به <destination> تغییر نام می‌دهد. در حالت دوم، <destination-directory> باید یک دایرکتوری موجود باشد؛ منابع مشخص‌شده به درون این دایرکتوری منتقل خواهند شد.

پس از اتمام موفقیت‌آمیز، ایندکس به‌روزرسانی می‌شود، اما تغییرات همچنان باید کامیت شوند.

-f, --force

تغییر نام یا انتقال فایل را اجبار می‌کند حتی اگر <destination> وجود داشته باشد.

-k

عملیات انتقال یا تغییر نامی که منجر به بروز خطا می‌شود را نادیده می‌گیرد. خطا زمانی رخ می‌دهد که یک منبع نه موجود باشد و نه تحت کنترل گیت قرار داشته باشد، یا زمانی که باعث بازنویسی یک فایل موجود شود مگر اینکه -f مشخص شده باشد.

-n, --dry-run

هیچ کاری انجام نده؛ فقط نشان بده چه اتفاقی خواهد افتاد.

-v, --verbose

نام فایل‌ها را هنگام انتقال گزارش می‌دهد.

انتقال یک زیرماژول با استفاده از gitfile (به این معنی که با نسخه گیت 1.7.8 یا جدیدتر کلون شده باشد) فایل gitfile و تنظیمات core.worktree را به‌روزرسانی می‌کند تا زیرماژول در مکان جدید کار کند. همچنین تلاش خواهد کرد تا تنظیمات submodule.<name>.path را در فایل gitmodules(5) به‌روزرسانی کرده و آن فایل را استیج نماید (مگر اینکه -n استفاده شده باشد).

هر بار که به‌روزرسانی پروژه والد (superproject) یک زیرماژول پرشده را منتقل می‌کند (مثلاً هنگام جابه‌جایی میان کامیت‌های قبل و بعد از انتقال)، یک نسخه چک‌اوت کهنه از زیرماژول در مکان قبلی باقی می‌ماند و یک دایرکتوری خالی در مکان جدید پدیدار می‌شود. برای پر کردن مجدد زیرماژول در مکان جدید، کاربر باید پس از آن دستور "git submodule update" را اجرا کند. حذف دایرکتوری قدیمی تنها زمانی ایمن است که از یک gitfile استفاده کند، زیرا در غیر این صورت تاریخچه زیرماژول نیز حذف خواهد شد. هر دو مرحله زمانی که به‌روزرسانی بازگشتی زیرماژول پیاده‌سازی شود منسوخ خواهند شد.

بخشی از مجموعه git(1)

2026-06-29 Git 2.55.0