Skip to content

Latest commit

 

History

History
211 lines (157 loc) · 13 KB

README_RU.md

File metadata and controls

211 lines (157 loc) · 13 KB

РУКОВОДСТВО ПО РЕШЕНИЮ ВАШИХ ПРОБЛЕМ

Содержание

Предисловие

Привет, глупышка. Если ты читаешь это, значит у тебя возникли проблемы с Git, а Руслан агай перенаправил твой запрос на помощь с решением проблемы к этому документу.
Найди свою проблему в разделе содержания, а затем следуй приведенным инструкциям.

Как открыть терминал

Windows

В Windows нет терминала, но есть консоль. Но мы все равно будем называть это терминалом. Чтобы открыть окно терминала в Windows, выполните следующие действия:

  1. Нажми Win+R, введи cmd и нажми Enter.

Linux

Чтобы открыть окно терминала в дистрибутиве Linux, выполните следующие действия:

  1. Нажми Ctrl+Alt+T или Shift+Ctrl+T.

  2. Если это не сработало, попробуй найти терминал через поисковую систему дистрибутива.

  3. Если ты не понял предыдущий шаг или он не сработал, попробуй Ctrl+Alt+F2 (или F3-F6). Это откроет интерфейс строки консоли. Чтобы вернуться в графический интерфейс, используй Ctrl+Alt+F1 (или F7).

Генерация SSH-ключей

Если у тебя еще нет пары SSH-ключей, тебе нужно создать ее для аутентификации с удаленными репозиториями через SSH.

Шаги для создания SSH-ключа

  1. Создай SSH-ключ
    Введи следующую команду в окне терминала для создания новой пары ключей SSH:

    ssh-keygen -t rsa -b 4096
    • t rsa указывает тип ключа (RSA).
    • b 4096 задает длину ключа в 4096 бит для лучшей безопасности.
  2. Выбери путь для ключа
    Тебе будет предложено указать путь для сохранения ключа. Нажми Enter, чтобы принять расположение по умолчанию (~/.ssh/id_rsa).

  3. Задай пароль (опционально)
    Тебе будет предложено ввести пароль (passkey) для ключа. Это добавит дополнительный уровень безопасности. Ты можешь нажать Enter, чтобы пропустить этот шаг, но рекомендуется использовать пароль.

  4. Добавь SSH-ключ в агент
    После генерации ключа добавь его в SSH-агент:

    eval "$(ssh-agent -s)"
    ssh-add ~/.ssh/id_rsa

    Замениid_rsa на имя твоего приватного ключа, если оно отличается.

  5. Добавь свой публичный ключ на GitHub
    Скопируй публичный ключ в буфер обмена:

    cat ~/.ssh/id_rsa.pub

    Затем перейди в Настройки GitHub > SSH и GPG ключи, нажмиНовый SSH ключ и вставь скопированный ключ.

  6. Проверь соединение
    Убедись, что все работает:

    ssh -T git@github.com

    Ты должен увидеть сообщение об успешном соединении.

Port 22

Эта ошибка обычно возникает из-за неправильного URL удаленного репозитория в конфигурации Git.

Шаги для решения

  1. Проверь корректность аргументов
    Убедись, что аргументы, которые ты указал в команде git, правильные.

  2. Проверь URL удаленного репозитория
    Выполни следующую команду в терминале для проверки URL текущего remote'a:

    git remote -v

    Убедись, что URL верный. Если нет, обнови его:

    git remote set-url origin CORRECT_URL

    Замени CORRECT_URL на правильный URL репозитория (HTTPS или SSH).

  3. Проверь подключение к интернету
    Убедись, что у тебя есть активное подключение к интернету, так как Git может возвращать ошибку, если сеть недоступна.

  4. Проверь доступ к репозиторию
    Если ты используешь HTTPS, убедись, что у тебя есть правильные учетные данные для доступа к репозиторию. Для SSH убедись, что твои SSH-ключи правильно настроены и добавлены на GitHub.

  5. Повтори команду git
    После исправления URL или учетных данных попробуй снова выполнить команду Git, вызвавшую ошибку.

Permission denied

Если ты столкнулся с ошибкой "403 Forbidden" при попытке отправки или получения из репозитория Git, это обычно связано с неправильными учетными данными или проблемами доступа.

Шаги для решения:

  1. Смирись
    Если ты хотел попортить чей-нибудь репозиторий, но у тебя нет прав доступа, это не сработает, глупышка, иди пару слушай.

  2. Проверь доступ к репозиторию
    Убедись, что у тебя есть правильные права на репозиторий. Если он приватный, убедись, что ты являешься владельцем или тебе предоставлен доступ коллаборатора.

  3. Проверь URL remote'а
    Выполни следующую команду для проверки URL remote'а:

    git remote -v

    Если отображается URL HTTPS (например, https://github.com/...), рекомендуется переключиться на SSH для лучшей безопасности. Чтобы изменить URL remote'а на SSH, выполни:

    git remote set-url origin git@github.com:USERNAME/REPO.git

    Замени USERNAME и REPO на твои имя пользователя GitHub и имя репозитория.

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

  5. Очисти кешированные учетные данные (если используешь HTTPS) Если ты используешь HTTPS и ранее ввел неверные учетные данные, очисти кеш:

    git credential-cache exit

    Затем попробуй снова выполнить отправку или получение. Git запросит твои учетные данные, где ты сможешь ввести правильные.

  6. Повторикоманду Git После проверки доступа и настройки учетных данных снова выполникоманду Git, чтобы проверить, решена ли проблема.

Permission denied (publickey)

Эта ошибка возникает, когда Git не может аутентифицировать твой SSH-ключ с удаленным репозиторием.

Шаги для решения

  1. Проверь, добавлен ли SSH-ключ
    Убедись, что твой SSH-ключ добавлен в SSH-агент. Введи следующую команду для проверки:

    ssh-add -l

    Если ключи не отображаются, возможно, тебе нужно добавить cвой ключ:

    ssh-add ~/.ssh/id_rsa

    Замени id_rsa на имя своего приватного ключа, если оно отличается.

  2. Добавь SSH-ключ на GitHub
    Если твой SSH-ключ не добавлен на GitHub, выполниследующие шаги:

    • Перейди в Настройки > SSH и GPG ключи на GitHub.
    • Нажми Новый SSH ключ, вставь твой публичный ключ (обычно находится в ~/.ssh/id_rsa.pub) и сохрани его.
  3. Проверь SSH-соединение
    Проверь соединение с GitHub, введя:

    ssh -T git@github.com

    Если аутентификация пройдет успешно, ты увидишь сообщение вроде "Привет, USERNAME! Ты успешно аутентифицированы."

  4. Проверь конфигурацию SSH
    Проверь файл конфигурации SSH (~/.ssh/config), чтобы убедиться, что настройки правильные:

    Host github.com
        User git
        Hostname github.com
        IdentityFile ~/.ssh/id_rsa
    

    Измени путь IdentityFile, если ты используешь другой SSH-ключ.

  5. Повтори команду Git.
    После того как ты убедился, что все настроено правильно, попробуй снова выполнить команду Git.

Fatal: Authentication failed

Эта ошибка обычно возникает, когда Git не может аутентифицировать твои учетные данные для удаленного репозитория.

Шаги для решения

  1. Проверь URL remote'a
    Убедись, что ты используешь правильный URL репозитория (предпочтительно SSH URL). Выполни следующую команду для проверки:

    git remote -v

    Если ты используешь HTTPS и хочешь переключиться на SSH, обнови URL:

    git remote set-url origin git@github.com:USERNAME/REPO.git

    Замени USERNAME и REPO на свое имя пользователя GitHub и имя репозитория.

  2. Обнови свои учетные данные
    Если ты используешь HTTPS и не хочешь переключаться на SSH, убедись, что твои учетные данные актуальны:

    • Для GitHub используй Personal Access Token (PAT) вместо пароля, так как пароли больше не работают. Ты можешь создать токен, перейдя в Настройки > Настройки разработчика > Личные токены доступа на GitHub.
    • Заменистарый пароль на этот токен при запросе во время операций Git.
  3. Настрой SSH-ключи (если переключаешься на SSH)
    Если ты переключаешься на SSH и еще не настроил ключи SSH, следуй шагам, описанным в этом разделе.

  4. Повторикоманду Git После обновления учетных данных попробуйте снова выполнить команду Git.