2013-06-20 13 views
22

Po zmianie nazwy folderu (git mv foldername newfoldername) zniknęła historia tego folderu w Github. I może jeszcze zobaczyć pełną historię każdego pliku w folderze gdybym klonu repro i uruchomić ...Zobacz historię w GitHub po zmianie nazwy folderu

git log --follow ./newfoldername/file 

Ale czy to możliwe, aby uzyskać historię przemianowany folderów widocznych w Github? To jest pytanie Githuba, historia wersji git działa zgodnie z oczekiwaniami. Dzięki

+0

Ponieważ nie odnoszą się do git per se, zmieniłem tytuł. Również historia plików/katalogów nie jest naprawdę * śledzona * w Git, jest raczej * zrekonstruowana *. Gdyby GitHub mógł wykonać tę rekonstrukcję tak, jak chciałeś, prawdopodobnie już byś to zobaczył. –

+4

Należy zauważyć, że Git nie śledzi bezpośrednio nazw plików (plik o zmienionej nazwie powoduje, że jego poprzedni wpis nie występuje w następnym obiekcie drzewa reprezentującym katalog tego pliku, a nowy wpis dodany do niego), a zmiana nazwy katalogu powoduje tylko pojedyncze zmienić na odpowiedni wpis do obiektu drzewa reprezentujący stan katalogu obejmującego. Jak poprawnie wskazuje @larsmans, nazwy są * odgadywane * przez maszynę 'git log' (która ma kilka pokręteł, które mają na to wpływ). Nie wstrzymywałem oddechu, żeby znaleźć właściwe rozwiązanie twojego problemu. – kostix

+0

Należy również zauważyć, że 'git' nie śledzi historii folderów w ogóle, poza pojęciem" ten plik znajduje się w tym folderze w tym konkretnym drzewie/commit "... – twalberg

Odpowiedz

8

Potrzebujesz tylko zatwierdzenia przed zmianą nazwy. Możesz go odzyskać lokalnie lub za pomocą funkcji Blame.

Po uzyskaniu adresu URL takiego zatwierdzenia wystarczy kliknąć opcję Historia. Zobaczysz całą historię zatwierdzenia pliku przed zmianą nazwy.

+0

czy jest jakiś sposób, aby to zrobić na poziomie API, albo w 'REST' lub' Graphql' –

14

Napisałem chrome extension, aby to umożliwić. Source na github.

Github Follow Extension

+0

Ładne rozszerzenie, +1 – mike

+0

Trochę starszego wątku, ale czy to robisz? Ponieważ nie wydaje się działać obecnie :(Oto zatwierdzenie z kilkoma ruchami: https://github.com/Rene-Sackers/gta-network-typescript/commit/f61486b6b456830c8ea3f648c325fb26186326ea –

+0

Musisz spojrzeć na historię plik zamiast zatwierdzenia, np .: https://github.com/Rene-Sackers/gta-network-typescript/commits/f61486b6b456830c8ea3f648c325fb26186326ea/content/types-gtanetwork/Declarations.d.ts – dailysleaze

Powiązane problemy