Najlepiej użyć do tego polecenia git merge-base. Pozwala ono znaleźć najbliższego wspólnego przodka.

Komenda
Aby znaleźć wspólnego przodka należy użyć polecenia git merge-base podając jako argumenty nazwy gałęzi:
git merge-base MAIN FEATURE_BRANCHjeśli zostanie znaleziony wspólny przodek, to zostanie zwrócony jego commit id (sha). Przykładowo:
67c4660f1369b8751257f189bfbfd8dc49acaaa5
W ten sposób można określić skąd się odbiliśmy. Jeśli zaś nie znamy nazwy gałęzi, z której się odbiliśmy to należy niestety przejść przez wszystkie gałęzie.
Szukanie najbliższego przodka we wszystkich gałęziach
Aby znaleźć najbliższego przodka spośród wszystkich dostępnych gałęzi można wykorzystać następujący skrypt shellowy:
your_branch="FEATURE_BRANCH"
for branch in $(git branch --remotes | grep -v HEAD); do
echo -e "$(git merge-base $your_branch $branch)\t$branch"
done | sort -r | head -n 1jeśli zostanie znaleziony najbliższy przodek na jakiejś gałęzi to zostanie wyświetlony commit id (sha) oraz nazwa gałęzi. Przykładowo:
67c4660f1369b8751257f189bfbfd8dc49acaaa5 origin/main
