Как можно создать новый репозиторий на GitHub удаленно в 2024 году?

У меня на компьютере много проектов, которые я хотел бы загрузить на GitHub. Я ищу информацию о том, как инициализировать репозиторий через командную строку. Я установил CLI и работаю в Windows, следуя официальной документации: <br/> <a href="https://docs.github.com/rest/repos/repos#create-a-reposi" rel="nofollow">https://docs.github.com/rest/repos/repos#create-a-reposi</a> <br/>. Я создал запрос: <br/> ``` <br/> curl -L \ <br/> -X POST \ <br/> -H "Accept: application/vnd.github+json" \ <br/> -H "Authorization: Bearer ghp_wXDD32oFcQKABIмойТокенТутIm3JCmAY" \ <br/> -H "X-GitHub-Api-Version: 2022-11-28" \ <br/> <a href="https://api.github.com/user/repos" rel="nofollow">https://api.github.com/user/repos</a> \ <br/> -d '{"name":"Sushilka","description":"Sushilka","homepage":"<a href="https://github.com" rel="nofollow">https://github.com","private":false,"is_template":true</a>}' <br/> ``` <br/> но получаю ответ 404: <br/> <br/> ``` <br/> { <br/> "message": "Not Found", <br/> "documentation_url": "<a href="https://docs.github.com/rest/repos/repos#create-a-reposi" rel="nofollow">https://docs.github.com/rest/repos/repos#create-a-reposi</a>", <br/> "status": "404" <br/> } <br/> ``` <br/> Все доступные в интернете методы для старого API GitHub не работают. Не мог бы ты подсказать, что я делаю не так?
  • 22 октября 2024 г. 9:12
Ответы на вопрос 2
Давайте разберем вашу ситуацию. Ошибка 404, которую вы получаете, может быть вызвана несколькими причинами. Вот что можно проверить и как правильно создать репозиторий на GitHub через командную строку.

### Шаги для создания репозитория через GitHub API

1. **Убедитесь, что ваш токен действителен**: Убедитесь, что у вас есть правильный Access Token GitHub с необходимыми разрешениями. Для создания репозитория ваш токен должен включать `repo` scope. 

2. **Правильный URL API**: Убедитесь, что вы обращаетесь к правильному URL для создания репозитория:
   ```
   https://api.github.com/user/repos
   ```

3. **Формат JSON**: Закройте JSON объект правильно. Обратите внимание на правильное использование двойных кавычек.

4. **Пример команды**: Попробуйте выполнить команду, как показано ниже (замените `ВашТокенТут` на ваш действительный токен):

```bash
curl -X POST \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer ВашТокенТут" \
-H "X-GitHub-Api-Version: 2022-11-28" \
https://api.github.com/user/repos \
-d '{
  "name": "Sushilka",
  "description": "Sushilka",
  "homepage": "https://github.com",
  "private": false,
  "is_template": true
}'
```

### Возможные ошибки и их решения

- **404 Not Found**: Если вы получаете сообщение `Not Found`, это может означать, что вы используете неверный URL или ваш токен не имеет нужных разрешений. Убедитесь, что токен действительно имеет доступ для создания репозиториев.
  
- **Другие проблемы**: Если у вас есть проблемы с сетью или с конфигурацией cURL, попробуйте использовать альтернативные инструменты, такие как Postman, или библиотеку для работы с API на Python, например `requests`.

### Альтернативный способ: через GitHub CLI

Также, если вам удобнее использовать GitHub CLI, вы можете создать репозиторий с помощью команды:

```bash
gh repo create Sushilka --description "Sushilka" --public
```

Этот способ достаточно простой и не требует написания cURL запросов. Вам просто нужно будет установить [GitHub CLI](https://cli.github.com/) и авторизоваться с его помощью.

### Дополнительные шаги

Если все равно возникают ошибки, вы можете проверить:

- **Состояние вашей учетной записи на GitHub**: Убедитесь, что ваша учетная запись не заблокирована и что вы можете создавать репозитории вручную.
- **Документацию GitHub API**: Иногда изменения в API могут затрагивать существующие методы. Убедитесь, что вы ознакомлены с последними обновлениями документации.

Если после всех этих шагов вы все еще сталкиваетесь с проблемами, сообщите об этом, и мы продолжим искать решения!
Попробуйте удалить из запроса необязательные параметры. А вообще это выглядит как кривой токен. Чем вам вообще не понравился официальный GitHub CLI? 
gh repo create Sushilka --private
Одна строка вместо вашей портянки и никакие токены не нужны
Похожие вопросы