سؤال

لدي مشروع يستخدم GIT حيث قمت بتترجم من سيد لإعادة تسمية دليل.

إعادة تسمية في الفرع يعمل كما هو متوقع. عندما أتحول إلى Branch Master، يحتوي الدليل على اسمه الأصلي، ولكن هناك أيضا شجرة دليل فارغة مع الاسم الذي قمت بتغييره إليه في الفرع.

هل هذا التصرف المتوقع؟ هل أفتقد خطوة؟
هل أحتاج فقط إلى حذف أشجار الدليل الفارغة هذه كما تظهر؟

أعرف أن GIT لا تتبع الدلائل الفارغة وقد يكون ذلك عاملا هنا.

سير العمل الحالي الخاص بي هو:

# create and checkout a branch from master
/projects/demo (master)
$ git checkout -b rename_dir

# update paths in any affected files

# perform the rename
/projects/demo (rename_dir)
$ git mv old_dir new_dir

# add the modified files
/projects/demo (rename_dir)
$ git add -u

# commit the changes
/projects/demo (rename_dir)
$ git commit -m 'Rename old_dir to new_dir'

وصلت إلى هذه النقطة وكل شيء كما هو متوقع:

# old_dir has been renamed new_dir
/projects/demo (rename_dir)
$ ls
new_dir

تأتي المشكلة عندما أعود إلى ماجستير:

/projects/demo (rename_dir)
$ git checkout master

# master contains old_dir as expected but it also
# includes the empty directory tree for new_dir
/projects/demo (master)
$ ls
old_dir new_dir

New_dir هي شجرة دليل فارغة، لذلك لن تتبع GIT IT - لكنه قبيح هناك.

هل كانت مفيدة؟

المحلول

نعم، يمكنك إزالته. تستطيع ايضا استخذام git clean -d لإزالة الدليل.

نصائح أخرى

من المرجح أن تكون لديك ملفات مخفية في الدليل الجديد. "LS -A Newdir"

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top