Ik heb een aantal updates geleden een lettertypebestand geüpload waarvan ik niet de rechten heb om het naar git hub te distribueren.
Ik heb een relatief inactieve repository en ik kan al mijn leden indien nodig op de hoogte stellen. Ik heb verschillende oplossingen geprobeerd. Ik moet een bestand in mijn map met de naam Resources\Video\%font%.ttf
verwijderen, waarbij %font%
de naam is van de gewone, cursieve en vetgedrukte versies van de lettertype. Welke commando’s gebruik ik?
Antwoord 1, autoriteit 100%
In dat geval zou je de opdracht Git Filter Branchkunnen gebruiken met --tree-filter
optie.
syntaxis is git filter-branch --tree-filter <command> ...
git filter-branch --tree-filter 'rm -f Resources\Video\%font%.ttf' -- --all
Bijgewerkt bewerken
Merk op dat git filter-branch
--index-filter
veel sneller is dan --tree-filter
git filter-branch --index-filter 'rm -f Resources\Video\%font%.ttf' -- --all
Moet in Windows
/
gebruiken in plaats van\
.
Uitleg over het commando:
< command >
Specificeer een willekeurig shell-commando.
--tree-filter:
Git checkt elke commit uit in de werkdirectory, voert je commando uit en voert opnieuw een commit.
--index-filter:
Git werkt de git-geschiedenis bij en niet de werkmap.
--all:
Filter alle commits in alle branches.
Opmerking:controleer het pad voor uw bestand, want ik weet niet zeker wat het bestandspad is
Ik hoop dat dit je helpt.
Antwoord 2, autoriteit 16%
git filter-branch --index-filter 'git rm --cached --ignore-unmatch Resources\Video\%font%.ttf' HEAD
kan veel (tot 100x) sneller zijn dan --tree-filter
omdat het alleen de git-geschiedenis bijwerkt en niet de werkmap.
ref: Wat is het verschil tussen “–tree-filter” en “–index-filter” in de “git filter-branch”?
ref: https://git-scm.com/docs/git-filter-branch
Antwoord 3, autoriteit 14%
Volgens de officiële git-documenten, met behulp van git filter-branch
wordt sterk afgeraden, en de aanbevolen aanpak is om de bijgedragen git- filter-repocommando.
Installeerhet (via pakket, of met pakket python3-pip, doe een pip-installatie).
Het commando om filename
is dan:
git filter-repo --invert-paths --path filename
De optie --invert-paths
geeft aan om de volgende paden uit te sluiten en niet op te nemen.