Hoe verwijder je een map uit de git-repository?

Ik heb 2 mappen in mijn GitHub-repository. Ik zou er graag een willen verwijderen. Hoe kon ik dat doen zonder de hele repository te verwijderen en opnieuw te maken?


Antwoord 1, autoriteit 100%

Verwijder directory van git en local

Je zou ‘master’ kunnen afrekenen met beide mappen;

git rm -r one-of-the-directories // This deletes from filesystem
git commit . -m "Remove duplicated directory"
git push origin <your-git-branch> (typically 'master', but not always)

Verwijder directory van git maar NIET lokaal

Zoals vermeld in de opmerkingen, wat je meestal wilt doen, is deze map uit git verwijderen, maar niet volledig uit het bestandssysteem (lokaal)

Gebruik in dat geval:

git rm -r --cached myFolder

Antwoord 2, autoriteit 13%

Om map/directory alleen uit de git-repository te verwijderen en niet uit de lokale, probeer 3 eenvoudige commando’s.


Stappen om map te verwijderen

git rm -r --cached FolderName
git commit -m "Removed folder from repository"
git push origin master

Stappen om die map in de volgende commits te negeren

Om die map van volgende commits te negeren, maak je één bestand in de hoofdmap (hoofdprojectdirectory waar de git is geïnitialiseerd) met de naam .gitignore
en zet die mapnaam erin. U kunt zoveel bestanden/mappen negeren als u wilt

.gitignorebestand ziet er zo uit

/FolderName


Antwoord 3, autoriteit 3%

Als, om wat voor reden dan ook, wat karmakaze zei niet werkt, kunt u proberen de gewenste map te verwijderen met of met uw bestandssysteembrowser (bijv. In Windows Verkenner). Na het verwijderen van de map, geeft u de opdracht:
git add -A
en dan
git commit -m 'deleting directory'
en dan
git push origin master.


Antwoord 4

Je kunt dit proberen:
git rm -rf <directory_name>

Het zal de directory geforceerd verwijderen.


Antwoord 5

Als je de bestanden in de directory verwijdert (met git rmzoals de andere antwoorden uitleggen), dan bestaat de directory niet meer wat betreft git. Je kunt geen lege map vastleggen, en je kunt er ook geen verwijderen.

Dit is anders dan subversie waarbij je expliciet svn rm emptyfolder/moet gebruiken, en dit is overigens de reden waarom de man-pagina voor git zichzelf omschrijft als “de stomme contenttracker”

Een antwoord op “Hoe kan ik voeg een lege map toe aan een git-repository”links naar de FAQ over dit onderwerp:

Momenteel het ontwerp van de git-index
(staging area) staat alleen bestanden toe om
worden vermeld, en niemand competent genoeg
om de wijziging aan te brengen om leeg toe te staan
directories heeft genoeg om gegeven
deze situatie om het te verhelpen.

Mappen worden automatisch toegevoegd
bij het toevoegen van bestanden erin. Dat
is, mappen hoeven nooit te worden toegevoegd
naar de repository en worden niet gevolgd
alleen.

Je kunt zeggen “git add <dir>” en het
zal daar bestanden aan toevoegen.

Als je echt een map nodig hebt om
bestaan in kassa’s moet u een . maken
bestand erin. .gitignore werkt goed voor
dit doel; je kunt het leeg laten,
of vul de namen in van bestanden die u
verwacht in de directory te verschijnen.


Antwoord 6

Ik had de map al eerder vastgelegd en wil de map ook uit de geschiedenis verwijderen.

Ik heb het volgende gedaan:

Map toevoegen aan .gitignore:

echo Folder_Name/ >> .gitignore

Verwijderen van alle vastleggingen:

git filter-branch --index-filter 'git rm -rf --cached --ignore-unmatch Folder_Name/' --prune-empty --tag-name-filter cat -- --all

verwijder de refs uit de oude commits:

git for-each-ref --format="%(refname)" refs/original/ | xargs -n 1 git update-ref -d

Zorg ervoor dat alle oude refs volledig zijn verwijderd

rm -Rf .git/logs .git/refs/original

Voer een vuilnisophaaldienst uit

git gc --prune=all --aggressive

u wijzigingen doorsturen naar de online repository:

git push

Je bent hier klaar.

Maar je kunt het volgende doen om alle wijzigingen naar alle branches te pushen met:
Maar wees voorzichtig met dit commando!

git push origin --all --force
git push origin --tags --force

Daarna werd de map verwijderd van git, maar niet van de lokale schijf.


Antwoord 7

Ga naar je git Directory en typ het volgende commando:
rm -rf <Directorynaam>

Nadat u de map hebt verwijderd, voert u de wijzigingen door:
git commit -m “Uw toezeggingsbericht”

Druk vervolgens eenvoudigweg de wijzigingen door in de externe GIT-directory:
git push origin <Branchnaam>


Antwoord 8

voor het verwijderen van lege mappen

Ik wilde een lege map verwijderen (map) die ik heb gemaakt, Git kan het niet verwijderen, na wat onderzoek dat ik heb geleerd
Git volgt geen lege mappen. Als u een lege map in uw werkboom hebt, moet u deze eenvoudig worden verwijderd met

rm -r folderName

Het is niet nodig om Git te betrekken.


Antwoord 9

U kunt de map lokaal verwijderen en duwen, als volgt:

git rm -r folder_name
git commit -m "your commit"
git push origin master

Antwoord 10

Ik gebruik meestal git add --allom bestanden / mappen uit Remote Repositories te verwijderen

rm -r folder_name
git add --all
git commit -m "some comment"
git push origin master

masterkan worden vervangen door een andere tak van de repository.


Antwoord 11

U kunt Atlasian Source Tree (Windows) gebruiken (https://www.atlassian.com/ Software / Sourcetree / Overzicht ).
Selecteer gewoon bestanden van BOOM en drukknop “Verwijderen” aan de bovenkant. Bestanden worden verwijderd van lokale repository en lokale git-database. Ga dan vast en duw dan.


Antwoord 12

Een van mijn collega suggereerde bfg repo-cleaner die ik krachtig denk. Het verwijdert niet alleen ongewenste gegevens, maar reinigt u ook uw repository van gerelateerde commit-informatie.


Antwoord 13

eerste git-opdracht moet weten wie je bent voordat je iets verwijdert

  1. git init
  2. git config-user.name “Iemand”
  3. git config-user.email “[email protected]
  4. git rm -r
  5. git commit -m “DIRE DIR” verwijderen “
  6. Git Push Origin Master

Antwoord 14

Om nieuwe map toe te voegen:

mkdir <YOUR-DIRECTORY>

Maar nu is Git niet op de hoogte van deze nieuwe map, omdat Git de bestanden bijhoudt, niet de mappen
DIRECTORY

git status

Git zal niet op de hoogte zijn van de wijziging die we hebben aangebracht, dus voegen we een verborgen bestand .keeptoe om Git bewust te maken door deze nieuwe wijziging.

touch /YOUR-directory/.keep

Als je nu op git statusklikt, zal Git op de hoogte zijn van de wijzigingen.

En als u de map wilt verwijderen, moet u dit commando gebruiken.

rm -r <YOUR-DIRECTORY>

En als je het hebt gecontroleerd met behulp van git status, zul je zien dat de map is verwijderd.


Antwoord 15

Een combinatie van de 2 antwoorden werkte voor mij

git rm -r one-of-the-directories
git commit . -m "Remove duplicated directory"
git push

als het nog steeds een waarschuwing toont, verwijder dan de bestanden handmatig

git filter-branch --tree-filter 'rm -rf path/to/your/file' HEAD
git push

Antwoord 16

probeer rm -r -f <folder name>of rm -r --force <folder name>
een map met geweld verwijderen

Other episodes