Я делаю много, порой в 10 раз больше. Я не знаю как побороть это.
Ну если не знаешь, то никак
Я уже пишу тесты, знаю что и как, но даже это не успокаивает.
Тесты не должны успокаивать, они должны выполнять свою задачу, а имено заниматься регрешеном и базовым юнит тестированием
Но багов не избежать, то забываю в коммит файл взять, то забываю сохранится, то забываю дописать функций, то меняю функции и сразу забываю что то
А как тесты тогда проходят? Можешь взять test-driven-development. Сперва пиши тест, закоммитить, убедись что он запустился и зафейлился, а потом пиши функционал. И тут уже пока тест не позеленеет, не пропустишь.
Или я неправильно понял документацию или прочитал но не обратил на важные моменты.
Читай внимательно, обращай внимание.
Но как только возвращаюсь к известной таске то сразу появляется 100 багов. Из за того что я где то поменял. И вообще также заметил что даже в тексте тоже самое, порой раз несколько исправляю.
Плохие названия функций/переменных? Недостаточно комментариев?
И обычно я знаю правило чистого кода, пользуюсь eslint, изучал алгоритмы и решал задачки.
Надо знать не обычно, а всегда, упрощает.
Ну а так - самоорганизация это заставить себя делать аккуратно. Нет волшебного ингредиента.