Niedawno dokonaliśmy konwersji naszych repozytoriów SVN na GIT. Wygląda na to, że w wyniku tej konwersji straciliśmy kilka zatwierdzeń i chcielibyśmy to zweryfikować.Jak znaleźć potwierdzenia git w repozytorium za pomocą komunikatu commit?
Dlatego chcielibyśmy znaleźć pasujące zatwierdzenie git dla każdego svn commit, aby sprawdzić, czy konwersja rzeczywiście wystąpiła.
$ git log|grep "some partial commit message"
nie wystarczy, ponieważ przechodzi tylko przez bezpośrednich ancenstorów i ignoruje gałęzie, które nie są bezpośrednimi przodkami.
$ git show <commit-hash>
nie będzie działał, ponieważ svn nie ma sum sha1.
Najbliższa rzecz jaką znalazłem: $ git reflog show --all --grep="releasenotes"|xargs git show --shortstat
jednak nie wydaje się, aby całkowicie działać tak, jak się wydaje, grep w więcej miejsc niż tylko wiadomość zatwierdzenia (Mamy fałszywe pozytywne).
Próbowałem również użyć to: $ git rev-list --all|xargs -n1 bash -c 'git show|head -n10'|grep -i release
zasadzie brakuje mi dobrego sposobu, aby wydrukować popełnić wiadomość bez dyferencjału.
[EDIT]
Nie jestem do końca pewien, ale myślę, że to powinno wymienić wszystkich popełnić wiadomości w repozytorium.
git rev-list --all|xargs -n1 git log -n1
Czytanie strony podręcznika git-log pomoże: możesz użyć czegoś takiego jak 'git log --all --format = | grep ', gdzie' 'byłoby czymś w rodzaju" SHA-commit message ", jak wyszczególniono na stronie man. –