فرق بین . git add با git add -A

ژوئن 12, 2019

فرق بین . git add با git add -A در Git version 2.x هر دو این دستورات، همه فایل ها را استیج می کنند یعنی هم فایل های جدید و هم فایل های حذف شده !پس فرق چیست؟

پس فرق چیست؟

با یک مثال کاملا مشخص میشه، اگر دایرکتوری و فایل های زیر را داشته باشیم :

۱۲۳۴۵/my-repo
     .git/
     subfolder/
          nestedfile.txt
     rootfile.txt

اگر شما در حال کار کردن توی دایرکتوری /my-repo باشید و این، دایرکتوری روت ریپازیتوری شما باشه، دستورات بالا کاملا یکسان عمل خواهند کرد.

اما اگر شما دستور rm rootfile.txt و سپس cd subfolder و بعد . git add را اجرا کنید تغییرات ../rootfile.txt یعنی حذف فایل در دایرکتوری پدر استیج نخواهد شد زیرا . git add فقط روی دایرکتوری جاری و تمام زیردایرکتوری های آن اثر میذاره

اما git add -A فایل حذف شده در دایرکتوری پدر را نیز استیج خواهد کرد!