2015-01-06 10 views

Odpowiedz

3

--follow wydaje się być sądzeni „buggy”, ale dziennik git powinny przestrzegać przemianować na pomysł:

Patrz „IDEA-66700 git log should follow renames (--follow option)”:

Zamykanie: wniosek został ustalony jakiś czas temu (nie przez buggy -–follow).

Można by znaleźć dodatkowe informacje w punkcie „IDEA-89370 Git: show history for renamed folder omits history before rename

My nie używaj --follow (ze względu na jego charakter buggy): zamiast nazywamy git show -M na ostatni commit i sprawdzić, czy plik został zmieniono nazwę w tym zatwierdzeniu, aw tym przypadku historia żądań dla starej nazwy pliku i tak dalej.

Zauważ, że (nie, że jest to konieczne w przypadku tutaj) stara się pokazać historię przemianowany folderze nie będzie działać w każdym razie:

Wywołanie git log -- <dir> nawet z --follow nie wynika nazwy, co jest jednak logiczne, ponieważ dziennik jest filtrowany według nazwy nowego katalogu, a stara nazwa nie pasuje do niego.
tj. Sam Git nie dostarcza historii dla katalogów pomiędzy nazwami.


Dla pewnego rodzaju zmiana nazwy pliku, nadal istnieją problemy:
"IDEA-89347 Git: part of the file history is not shown because of cyclic renames of the file."

git log --follow doskonale śledzi wszystkie te Zmienia nazwę. Ale jak wiemy, nie pokazuje ona połączeń. Więc nie możemy tego użyć.

Zamiast tego należy ulepszyć nasz algorytm pobierania całej historii plików.
Rzeczywiście musimy sprawdzić każdą wersję i sprawdzić, czy plik został tam zmieniony.

Oczywiście wywoływanie git show --name-status -M dla każdej wersji jest bardzo kosztowne.
Oto rozwiązanie: zadzwoń pod numer git log --name-status i zobacz te wersje pliku, gdzie jest DODANE (nazwy nie są wyświetlane przez git log, nawet z "-M", ponieważ ograniczamy je do podanej ścieżki pliku).

+0

Jak wyjaśnić wynik? Nie widzę wszystkich powiązanych zatwierdzeń. – Mik378

+0

@ Mik378 Jakiej wersji IntelliJ IDEA używasz? – VonC

+0

Podałem tylko: używam najnowszego: 14 (wydanie pierwsze) – Mik378

Powiązane problemy