It makes a bunch of sense to build nicer porcelain tools for such low level git magic when it becomes semi-routine.
(I couldn't find a good permalink for the entire series as a whole, so linked are all the individual posts.)
[0] https://devblogs.microsoft.com/oldnewthing/20190506-00/?p=10...
[1] https://devblogs.microsoft.com/oldnewthing/20190507-00/?p=10...
[2] https://devblogs.microsoft.com/oldnewthing/20190508-00/?p=10...
[3] https://devblogs.microsoft.com/oldnewthing/20190509-00/?p=10...
[4] https://devblogs.microsoft.com/oldnewthing/20190510-00/?p=10...
[5] https://devblogs.microsoft.com/oldnewthing/20190513-00/?p=10...
[6] https://devblogs.microsoft.com/oldnewthing/20190515-00/?p=10...