Man ir 2 direktoriji GitHub repozitorijā. Es gribētu izdzēst vienu no tiem. Kā to izdarīt, neizdzēšot un neveidojot visu repozitoriju no jauna?
Jūs varētu pārbaudīt 'master' ar abiem direktorijiem;
git rm -r one-of-the-directories
git commit -m "Remove duplicated directory"
git push origin <your-git-branch> (typically 'master', but not always)
Kā minēts komentāros, parasti jūs vēlaties šo direktoriju izņemt no git, bet neizdzēst to pilnībā no failu sistēmas (vietējās).
Šādā gadījumā izmantojiet:
git rm -r --cached myFolder
Ja kāda iemesla dēļ tas, ko teica karmakaze, nedarbojas, varat mēģināt dzēst vajadzīgo direktoriju, izmantojot vai ar failu sistēmas pārlūku (piem., Windows failu pārlūkā). Pēc direktorijas dzēšanas izdodiet komandu:
git add -A
un pēc tam
git commit -m 'dzēšot direktoriju'
un tad
git push origin master
.
Ja jūs dzēsīsiet direktorijā esošos failus (ar git rm
, kā paskaidrots citās atbildēs), tad direktorija vairs nepastāvēs, ciktāl tas attiecas uz git. Jūs nevarat nodot tukšu direktoriju, kā arī nevarat to dzēst.
Atšķirībā no subversion, kur ir skaidri jānorāda svn rm emptyfolder/
, un, starp citu, tieši tāpēc git man
lapa apraksta sevi kā "stulbu satura sekotāju";
Atbilde "Kā pievienot tukšu direktoriju git repozitorijam" norāda uz FAQ par šo tēmu:
Pašlaik git indeksa dizains (staging area) atļauj tikai failus uz tikt uzskaitīti, un neviens nav pietiekami kompetents, lai to darītu. lai veiktu izmaiņas, kas ļautu arī tukšu direktoriju izveidi, ir pietiekami rūpējies par to. šo situāciju, lai to labotu.
Katalogi tiek pievienoti automātiski kad tajos tiek pievienoti faili. Tas tas ir, direktoriji nekad nav jāpievieno. repozitorijam, un tie netiek izsekoti paši par sevi.
Jūs varat pateikt "
git add <dir>
", un tas tajā tiks pievienoti faili.Ja jums patiešām ir nepieciešams direktorijs, lai eksistēt čeku sadaļā, jums vajadzētu izveidot direktoriju failu tajā. .gitignore labi darbojas, lai šim nolūkam; to var atstāt tukšu, vai arī aizpildīt failu nosaukumus, kurus jūs sagaidāt, ka tie parādīsies direktorijā.