Если у вас есть тип, для которого требуется приемник указателя, лучше всегда обрабатывать значения этого типа через указатель, чтобы предотвратить неожиданные копии. Даже если бы вы вызывали метод непосредственно для значения в срезе через индекс, у вас всегда будет шанс, что значения нужно будет использовать где-то еще в вашем коде, требуя от вас убедиться, что вы изменяете правильное значение. стоимость.
В этом случае рекомендуется использовать часть указателей для commits
, чтобы вообще избежать этой проблемы:
var commits []*Commit