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



11

В папке с проектом создаю локальный репозиторий (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.


  • 2

    Создай там, склонируй себе в папку, добавить новый файл, закомить и отправь в гитхаб

    – матвеев сергей
    19 мар ’16 в 15:39


  • Так все работает: создал репозиторий в акаунте на github.com, клонировал себе на пк, добавил файлы проэкта, закомитил, отправил на github, все ок… НО хотелось бы создать репозиторий удаленно, перенести свой локальный репозиторий на github, а не получаеться (((

    – Gooddjamp
    19 мар ’16 в 21:12


  • @Gooddjamp: в таком случае измените формулировку вопроса, так как Вашего НО там нет.

    – edem
    19 мар ’16 в 22:22


  • 1

    edem, Вы правы, формулировка была не точна. Спасибо

    – Gooddjamp
    20 мар ’16 в 10:17




  • 1

    Тут пишут, так :...$ git remote add origin https://github.com/USER/demo.git ...$ git push -u origin master Похоже, разница в origin

    – avp
    20 мар ’16 в 10:28




  • В даном случаи prj (вместо origun) — это короткое имя url, которое можно использовать дальше вместо url

    – Gooddjamp
    20 мар ’16 в 13:48


21

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

    Плюс за true unix way создания репозитория ))

    – Nick Volynkin
    23 мар ’16 в 7:07


  • 2

    А почему .../demo.git в git remote ..., если в curl ... дали имя {"name":"demo"} (т.е. без .git)? По моему (пока еще начальному) опыту на github создается репозиторий в точности с указанным именем. Вообще, надежней перед git remote ... зайти на github в только что созданный проект и скопировать URL

    – avp
    25 май ’16 в 13:46




  • 2

    @avp, вы совершенно правы и именно так я и поступил – взял код, предлагаемый GitHub’ом. Ваш вопрос меня заинтересовал, и я нашел на него ответ на EngSO. Если я правильно понял .git в url используется для обращения к чистым репозиториям. Попробовал обратится без .git– коммит улетел на удаленный репозиторий . Спасибо за Ваш комментарий.

    – Sanek Zhitnik
    25 май ’16 в 15:23


  • 3

    «Устанавливаем утилиту cURL и перезагружаемся» — а перезагружаться зачем? Впрочем, можно и так, уж wget никакой перезагрузки не потребует, только один его exe-шник положить в PATH и всё: wget.exe -O NUL --auth-no-challenge --user=USER --password=PASSWORD "https://api.github.com/user/repos" --post-data='{"name":"demo"}' (насчёт NUL не уверен, не помню как там в windows «в никуда» отправить, чтобы он HTTP-ответ в файле не сохранял)

    – PinkTux
    28 окт ’16 в 21:11


  • 1

    @PinkTux о, спасибо спасибо. попозже проверю и добавлю.

    – Sanek Zhitnik
    28 окт ’16 в 21:38

3

Вам нужно сначала создать репозиторий на гитхабе, чтобы потом в него что-то можно было пушить. Проще всего все-таки сделать это через веб-интерфейс.

Только, если вам предложат выбрать для репозитория лицензию, файл gitignore и пр. — отказывайтесь, вам нужен именно пустой репозиторий на гитхабе, чтобы можно было запушить в него ваш проект без конфликтов.

(Впрочем, конфликты тут не страшны — можно же и push -f сделать)


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



ответ дан 25 май ’16 в 8:10

Pavel Mayorov


48.8k549109

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. Примечания

  1. В ответе подразумевается, что Вы уже связаны с аккаунтом на GitHub, и Вам не придётся при каждом push вводить логин/пароль.
  2. Лично протестировано только на Windows 10, но так как hub — кроссплатформенная утилита, решение должно работать и в других операционных системах.


4. Дополнительные ссылки


Ваш ответ

Зарегистрируйтесь или войдите


Регистрация через Google

Регистрация через Facebook

Регистрация через почту

Отправить без регистрации


Имя


Почта

Необходима, но никому не показывается


Нажимая на кнопку «Отправить ответ», вы соглашаетесь с нашими пользовательским соглашением, политикой конфиденциальности и политикой о куки


Всё ещё ищете ответ? Посмотрите другие вопросы с метками git github git-commit или задайте свой вопрос.

https://ru.stackoverflow.com/questions/504578/Как-создать-репозиторий-на-github-через-командную-строку

Губарь Маргарита Александровна