Страницы

Поиск по вопросам

четверг, 28 ноября 2019 г.

Как создать репозиторий на GitHub через командную строку?

#git #github #git_commit


В папке с проектом создаю локальный репозиторий (git init), выполняю весь необходимый
минимум (git add ., git commit -m "Описание коммита"), и пробую выложить его в свой
аккаунт на GitHub:

$ git remote add git_prj https://github.com/Gooddjamp/git_prj.git
$ git push -u git_prj master


А возвращается ошибка:


  remote: Repository not found.
  fatal: repository 'https: // github.com / Gooddjamp/git_prj.git/' not found


Помогите решить проблему, как выложить свой проект на GitHub.
    


Ответы

Ответ 1



Linux / OS X Создаем удаленный репозиторий, указывая имя учетной записи. curl -u 'USER_NAME' https://api.github.com/user/repos -d'{"name":"demo"}' Вводим пароль от учетной записи: Enter host password for user 'USER_NAME': Репозиторий demo создан. Теперь выгружаем проект. git remote add origin https://github.com/USER_NAME/demo.git git push -u origin master Windows Вариант 1: Устанавливаем утилиту cURL и перезагружаемся. Дальше последовательность идентична Linux. Вариант 2 (Спасибо @PinkTux): Cкачиваем архив wget, разархивируем в любое место на диске и прописываем путь в переменной PATH. Открываем командную строку и пишем следующее: wget https://api.github.com/user/repos --user=%USER_NAME --password=%PASSWORD --auth-no-challenge --post-data="{\"name\":\"demo\"}" Обратите внимание на экранирование кавычек (обратный слэш перед кавычкой) в --post-data. Не смотря на отсутствие необходимости перезагрузки, все же способ имеет и недостаток - необходимо явно в строке указывать пароль. Таким способом можно создавать репозитории с различными параметрами.Вот туд приведен полный перечень параметров. Например для создания приватного репозитория (если у вас есть конечно такая привилегия) нужно подставить в первую строку после -d: '{"name":"demo", "private":"true"}' Источник

Ответ 2



Вам нужно сначала создать репозиторий на гитхабе, чтобы потом в него что-то можно было пушить. Проще всего все-таки сделать это через веб-интерфейс. Только, если вам предложат выбрать для репозитория лицензию, файл gitignore и пр. - отказывайтесь, вам нужен именно пустой репозиторий на гитхабе, чтобы можно было запушить в него ваш проект без конфликтов. (Впрочем, конфликты тут не страшны - можно же и push -f сделать) PS когда вы копируете ваши файлы на флешку (много файлов), вы перед этим обычно создаете пустую папку, куда будете копировать. Репозиторий - это контейнер для коммитов, точно так же как папка - контейнер для файлов. Пуш репозитория на гитхаб - это просто копирование ваших коммитов. Так почему же вы решили, что можно обойтись без создания пустого репозитория на гитхабе?

Ответ 3



1. Создание удалённого репозитория при помощи hub hub — консольное приложение, упрощающее введение команд git и позволяющее производить некоторые недоступные для git действия в удалённых репозиториях из терминала. Так, при помощи hub возможно создание нового GitHub репозитория без обращений к веб-интерфейсу, для этого используется команда hub create Необязательные параметры команды: -d — описание репозитория, на сайте GitHub располагается под именами пользователя и репозитория; -h — ссылка на сайт, соответствующий репозиторию, в веб-интерфейсе GitHub находится рядом с описанием; -p — сделать репозиторий приватным; параметр доступен только если у Вас платный GitHub аккаунт. 2. Демонстрация Создаём, используя Git Bash, репозиторий с именем KristinitaTest.github.io в Windows. SashaChernykh@DESKTOP-0G54NVG MINGW32 /e $ mkdir KristinitaTest.github.io # Имя папки станет и именем Вашего удалённого репозитория. SashaChernykh@DESKTOP-0G54NVG MINGW32 /e $ cd KristinitaTest.github.io SashaChernykh@DESKTOP-0G54NVG MINGW32 /e/KristinitaTest.github.io $ touch README.MD SashaChernykh@DESKTOP-0G54NVG MINGW32 /e/KristinitaTest.github.io $ start README.MD # Пишем «Repository for test GitHub features and demonstrations.» в файл README.MD. SashaChernykh@DESKTOP-0G54NVG MINGW32 /e/KristinitaTest.github.io $ hub init Initialized empty Git repository in E:/KristinitaTest.github.io/.git/ SashaChernykh@DESKTOP-0G54NVG MINGW32 /e/KristinitaTest.github.io (master) $ hub add . && git commit -m "Repository for Sasha tests" [master (root-commit) b56f811] Repository for Sasha tests 1 file changed, 1 insertion(+) create mode 100644 README.MD SashaChernykh@DESKTOP-0G54NVG MINGW32 /e/KristinitaTest.github.io (master) $ hub create -d "Create test repository" -h "Kristinita.ru" Updating origin created repository: Kristinita/KristinitaTest.github.io # Протокол «http://» будет добавлен автоматически в имя сайта. SashaChernykh@DESKTOP-0G54NVG MINGW32 /e/KristinitaTest.github.io (master) $ hub push -u origin master Counting objects: 3, done. Delta compression using up to 4 threads. Compressing objects: 100% (2/2), done. Writing objects: 100% (3/3), 296 bytes | 0 bytes/s, done. Total 3 (delta 0), reused 0 (delta 0) To https://github.com/Kristinita/KristinitaTest.github.io.git * [new branch] master -> master Новый репозиторий успешно создан. 3. Примечания В ответе подразумевается, что Вы уже связаны с аккаунтом на GitHub, и Вам не придётся при каждом push вводить логин/пароль. Лично протестировано только на Windows 10, но так как hub — кроссплатформенная утилита, решение должно работать и в других операционных системах. 4. Дополнительные ссылки документация hub, другие примеры использования hub.

Комментариев нет:

Отправить комментарий