try to understand the mysterious arcanes of git