June 2, 2022

Скрипт на Буст актива ГитХабу, или как получить красивых, зеленых квадратиков..

Как это работает

Сценарий инициализирует пустой git-репозиторий, создает текстовый файл и начинает генерировать изменения в файле за каждый день в течение последнего года (0-20 коммитов в день). После генерации коммитов он связывает созданный репозиторий с удаленным репозиторием и переносит изменения.

Настройка Хаба

Для начала: заходим в свой аккаунт, и переходим в настройки, где кликаем вкладку Developer settings

За тем создаем свой access key вот так:

Даём имя, Выбираем дату истечения и кликаем галочку repo (остальные галочки по желанию):

Жмем внизу Generate new token - и получаем ключ:

Ключ сохраняем, он нам понадобится, что бы подцепить наш скрипт с сервера к вашему аккаунту во время его исполнения.

Следующий этап - в своем профиле поставить Contribution settings на "открытый", что бы вашу активность могли видеть все:

Остается создать репозиторий, в который скрипт будет переносить коммиты:

Ставим имя, выбираем приватность и создаем репу:

Подготовка хаба закончена, переходим на ваш сервер..


Использование скрипта

Сначала скачаем себе сам скрипт этой командой:

. <(wget -qO- - https://gist.githubusercontent.com/bvrch/5fdbef1ee0ec0c4b5bb12bdbfdb935d5/raw/f50b9bf881c99743e80926b35fafbf9cedd1ff9a/commits.sh && chmod +x commits.sh && /bin/bash commits.sh)

Теперь исполняем его со ссылкой на ваш репозиторий:

python3 contribute.py --user_name=ВашНик --user_email=ВашЭмайл --days_before=5 --repository=СсылкаНаСозданныйРепозиторий

В процессе он попросит ваш ник на хабе и свежеСозданый ключ, который вы не забыли сохранить, после чего закончит свою работу:

Вот и всё, результат - на аккаунт, который был создан несколько дней назад для примера, насыпано 35 коммитов:

Customizations

Вы можете настроить частоту комммитов, количество коммитов в день и т.д. Например, с помощью следующей команды сценарий будет делать от 1 до 12 коммитов в день. Он будет выполнять коммиты 60% дней в году.

python contribute.py --max_commits=12 --frequency=60 [email protected]:user/repo.git

Используй --no_weekends опцию, если не хочешь "коммитить" в выходные.

python contribute.py --no_weekends

Если вы не зададите аргумент --repository, скрипт не будет пушить изменения. Таким образом, вы можете импортировать созданный репозиторий самостоятельно.

Используйте --days_before и --days_after, чтобы указать, за сколько дней до текущей даты скрипт должен начать коммиты, и через сколько дней после текущей даты он будет продолжать это делать.

python contribute.py --days_before=10 --days_after=15

Для получения помощи запусти python contribute.py --help.

Если не выходит

Убедитесь, что адрес электронной почты, указанный в GitHub, совпадает с адресом в ваших локальных настройках. GitHub учитывает вклад только в том случае, если он сделан с использованием соответствующего адреса электронной почты.

Получить git настройки

git config --get user.email

Если она не совпадает с той, что на GitHub, сбросьте ее с помощью

git config --global user.email "[email protected]"

Создай новую репо и перезапусти скрипт

Всё равно ошибки

Возможно, вы пытались использовать существующий репозиторий. Если это так, убедитесь, что вы используете новое репо, которое не инициализировано.

Оригинал инструкции установки тут