cermo-lit.ru

  

Bästa artiklarna:

  
Main / Git indexfilter misslyckades vid utskrift

Git indexfilter misslyckades vid utskrift

När ett arkiv innehåller filer som aldrig borde ha begåtts är det svårt att ta bort dem från historiken eftersom git är byggt för att behålla en historik, inte för att ändra den. Följande procedur kommer att förklara proceduren för att skriva om historik genom att ta bort filen eller filerna från alla tidigare åtaganden. För varje engagemang tillämpas filter varefter ändringarna åtagits igen. Med de olika filtren kan du ändra olika delar av engagemanget.

Detta filter körs för alla grenar som anges rev-lista. Detta filterkommando i sig är också ett git-kommando. Det instruerar git att ta bort de filer som specificerades av det senaste argumentet.

Detta behövs för att git-filialgrenen ska fortsätta om engagemanget inte innehåller några matchande filer. Shell-jokertecken kan användas här för att ta bort ett antal filer samtidigt. Den kommer att köras för varje tagg som pekar på ett omskrivet engagemang. Om filtren resulterar i ett tomt engagemang tar detta bort hela engagemanget. Att utföra ovanstående kommando kan ta ett tag beroende på storleken och mängden åtaganden i förvaret.

Följande är exempel på utdata från ovanstående kommando. Den har förkortats eftersom den innehåller många liknande linjer. Så hur rensar man den lokala kopian av förvaret?

Som nämnts är indexet rent men det faktiska innehållet i de borttagna filerna finns kvar. Utan denna parameter skulle endast återloggningar som är äldre än 90 dagar tas bort, och detta skulle lämna några av våra referenser. Eftersom den lokala klonen i förvaret fortfarande innehåller alla objekt för de gamla åtagandena, men inga referenser till dem, måste objekten tas bort. Vanligtvis är detta som standard två veckor.

Att trycka förvaren med git-push till fjärrservern kommer bara att skicka till servern vad som hänvisas från indexet. Som sådana är filerna helt borta i fjärrkopian av förvaret. Det andra kommandot tvingar dessutom push-taggarna till fjärrservern. Efter att förvaret har filtrerats och historiken har skrivits om tvingades ändringarna till fjärrservern.

Nu måste varje klon i förvaret uppdateras. Det första steget i att uppdatera förvaret är att hämta förvaret från fjärrservern. På samma sätt som ovan måste de gamla åtagandena tas bort för att rensa den lokala klonen. Om mängden borttaget innehåll från förvaret är betydande kanske du märker en minskning av storleken på den lokala klonen efter skräpsamlingen. Läs mer av mina inlägg på min blogg på https: Experiencing Technology. Hoppa till innehåll. Ta bort filer från git-historik Publicerat den 20 augusti 2018 av Gerhard.

Med detta i åtanke, se till att börja med ett rent arkiv. Relaterade inlägg: Skriv om författaren till hela git-förvaret Git-förvarets klusterinställning Konfigurera gitosis för att hantera git-förvar Git-förvarets klusterinstallation - Del 2 Håll reda på Linux-konfigurationsändringar med etckeeper Gitosis Argument för kommandot ser farligt ut.

Det här inlägget publicerades i versionskontrollsystem och taggade filtergren, för varje ref, git, indexfilter, reflog. Bokmärk permalänken. Sök efter: Du besöker den här webbplatsen med.

(с) 2019 cermo-lit.ru