Återställ raderade filer med git

Det händer ibland att man råkar radera filer i ett git-arkiv. Om man ännu inte gjort en commit så är det enkelt att återställa dessa med hjälp av kommandot git checkout "FILNAMN". När flera filer raderats så måste detta kommando köras en gång för varje fil vilket snabbt blir jobbigt. Som tur är så går det lätt att autmatisera med kommandot git ls-files. Kör helt enkelt kommandot "git ls-files -d | xargs git checkout --". Flaggan -d gör att alla raderade filer listas. En checkout görs sedan automatiskt för varje rad i listan.

git ls-files kan användas med olika flaggor för att till exempel visa modifierade eller ignorerade filer. Se manualen för mer information.

Om man har gjort en eller flera commits innan man upptäckt att en fil raderats så blir proceduren lite annorlunda. Se till exempel http://stackoverflow.com/questions/953481/restore-a-deleted-file-in-a-git-repo för hur man då kan gå tillväga.

Kommentera

Fyll i dina uppgifter nedan eller klicka på en ikon för att logga in:

WordPress.com Logo

Du kommenterar med ditt WordPress.com-konto. Logga ut / Ändra )

Twitter-bild

Du kommenterar med ditt Twitter-konto. Logga ut / Ändra )

Facebook-foto

Du kommenterar med ditt Facebook-konto. Logga ut / Ändra )

Google+ photo

Du kommenterar med ditt Google+-konto. Logga ut / Ändra )

Ansluter till %s