Ada dua pendekatan untuk ini. Jika memungkinkan saya akan mulai dengan folder bersih untuk direktori kerja git baru Anda dan kemudian menyalin versi Anda nanti. Ini mungkin terlihat seperti *:
mv $dir $dir.orig
git clone $url $dir
rsync -av --delete --exclude '.git' $dir.orig/ $dir/
rm -rf $dir.orig
Pada titik ini Anda harus memiliki copy pekerjaan yang cukup bersih dengan folder kerja Anda sebelumnya sebagai direktori kerja saat ini sehingga setiap perubahan termasuk penghapusan file akan muncul di radar jika Anda menjalankan git status
.
Di sisi lain jika Anda benar-benar harus melakukannya sebaliknya, Anda bisa mendapatkan hasil yang sama dengan sesuatu seperti ini:
cd $dir
git clone --no-checkout $url tempdir
mv tempdir/.git .
rmdir tempdir
git reset --mixed HEAD
Apa pun itu, hal pertama yang akan saya lakukan adalah menjalankan sesuatu seperti git stash
mendapatkan salinan dari semua perubahan lokal Anda yang disisihkan, kemudian Anda dapat mendaftar ulang dan bekerja melalui mana yang ingin Anda komit.
* Kedua contoh menganggap Anda mulai pada shell di direktori induk proyek Anda.