Я создал новый локальный репозиторий Git:
~$ mkdir projectname
~$ cd projectname
~$ git init
~$ touch file1
~$ git add file1
~$ git commit -m 'first commit'
Есть ли какая-нибудь команда git для создания нового удаленного репо и отправки моего коммита в GitHub отсюда? Я знаю, что нет ничего страшного в том, чтобы просто запустить браузер и перейти к созданию нового репозитория , но если есть способ добиться этого из CLI, я был бы рад.
Я прочитал огромное количество статей, но ни одна из найденных статей не упоминает, как создать удаленное репо из CLI с помощью команд git. Хорошая статья Тима Лукаса Настройка нового удаленного git-репозитория наиболее близка к тому, что я нашел, но GitHub не предоставляет доступ к оболочке .
источник
curl -F 'login=username' -F 'token=API Token' https://github.com/api/v2/yaml/repos/create -F name=reponame
. Ваш токен API можно найти на сайте GitHub, нажмите « Настройки учетной записи» , найдите административную информацию и токен API (строка длиной 32 символа).Команды CLI для github API v3 (замените все ключевые слова CAPS):
источник
~/.bash_history
. Я бы предложил заменить-u 'USER:PASS'
на-u 'USER'
, тогда curl попросит вас ввести пароль в интерактивном режиме.curl -u 'USER' https://api.github.com/user/repos -d '{"name":"REPO", "private":"true"}'
git config --global alias.gh-create '!sh -c "curl -u \"USERNAME\" https://api.github.com/user/repos -d \"{\\\"name\\\":\\\"$1\\\"}\"" -'
curl https://api.github.com/user/repos?access_token=myAccessToken -d '{"name":"REPO"}'
. :-)Это можно сделать тремя командами:
(обновлено для v3 Github API)
Объяснение этих команд ...
Создать репозиторий github
Определите, куда нажать
Нажмите местное репо на GitHub
источник
Если вы установите отличное средство Hub для defunkt , то это станет
git create
По словам автора, « hub - это оболочка командной строки для git, которая делает вас лучше в GitHub ».
источник
hub
! Также полезным являетсяhub
- или, какhub
обычно, псевдонимы дляgit
...git fork
, который создает форк репо дляpwd
клонированного репо, в котором вы находитесь ... Yay.Простые шаги (используя
git
+hub
=> GitHub ):Установите Hub ( GitHub ).
brew install hub
go get github.com/github/hub
в противном случае (также с Go ):
Перейдите в репозиторий или создать пустую:
mkdir foo && cd foo && git init
.Запустите:,
hub create
он спросит вас об учетных данных GitHub в первый раз.Использование:
hub create [-p] [-d DESCRIPTION] [-h HOMEPAGE] [NAME]
Пример:
hub create -d Description -h example.com org_name/foo_repo
Затем совершите коммит и нажмите как обычно или проверьте
hub commit
/hub push
.Для получения дополнительной помощи запустите:
hub help
.Смотрите также: Импорт репозитория Git с помощью командной строки на GitHub.
источник
Есть официальный github gem, который, я думаю, делает это. Я постараюсь добавить больше информации, когда узнаю, но я только сейчас открываю для себя этот драгоценный камень, поэтому пока не знаю много.
ОБНОВЛЕНИЕ: После установки моего ключа API я могу создать новое репо на github с помощью
create
команды, однако я не могу использоватьcreate-from-local
команду, которая должна взять текущее локальное репо и сделать соответствующий удаленный доступ на github.Если у кого-то есть понимание этого, я хотел бы знать, что я делаю неправильно. Там уже проблема подана .
ОБНОВЛЕНИЕ: я в конечном счете заставил это работать. Я не совсем уверен, как воспроизвести проблему, но я только начал с нуля (удалил папку .git)
Теперь эта строка создаст удаленное репо и даже подтолкнет к нему, но, к сожалению, я не думаю, что могу указать имя репо, которое бы мне понравилось. Я хотел, чтобы он назывался «точечными файлами» на github, но гем gh просто использовал имя текущей папки, которое было «jason», так как я находился в своей домашней папке. (Я добавил билет с просьбой о желаемом поведении)
Эта команда, с другой стороны, принимает аргумент для указания имени удаленного репо, но она предназначена для запуска нового проекта с нуля, т.е. после вызова этой команды вы получаете новое удаленное репо, которое отслеживает локальное репо во вновь созданной подпапке относительно вашей текущей позиции, оба с именем, указанным в качестве аргумента.
источник
Чтобы быстро создать удаленное хранилище с помощью оболочки Bash
Полный код вводить каждый раз при создании репозитория обременительно.
curl -u 'USER' https://api.github.com/user/repos -d '{"name":"REPO"}' git remote add origin git@github.com:USER/REPO.git git push origin master
Более простой подход:
githubscript.sh
githubscript.sh
файлNB. Это
$1
то,repository name
что передаетсяargument
при вызовеscript
ChangeYOUR_GITHUB_USER_NAME
перед сохранением скрипта.Установите необходимые разрешения для
script
файлаchmod 755 githubscript.sh
Включите каталог scripts в файл конфигурации среды.
nano ~/.profile; export PATH="$PATH:$HOME/Desktop/my_scripts"
Также установите псевдоним для запуска файла githubscript.sh.
nano ~/.bashrc; alias githubrepo="bash githubscript.sh"
Теперь перезагрузите
.bashrc
и.profile
файлы в терминале.source ~/.bashrc ~/.profile;
Теперь , чтобы создать новое хранилище ИЭ
demo
:githubrepo demo;
источник
git remote add origin git@github.com:YOUR_GITHUB_USER_NAME/$1.git;
наgit remote add origin https://github.com/YOUR_GITHUB_USER_NAME/$1.git;
Для пользователей, которые не используют ключ SSH.Основано на другом ответе @Mechanical Snail, за исключением того, что без использования python, который я нахожу дико излишним. Добавьте это к вашему
~/.gitconfig
:источник
Нет, вам нужно открыть браузер по крайней мере один раз, чтобы создать свой
username
на GitHub, после создания вы можете использовать GitHub API для создания репозиториев из командной строки, выполнив следующую команду:Например:
источник
git remote add origin https://github.com/github-username/repo-name.git
чтобы связать ваш локальный проект с GitHub. Например, команда будет выглядеть так:git remote add origin https://github.com/arpitaggarwal/command-line-repo.git
Для пользователей с двухфакторной аутентификацией вы можете использовать решение bennedich, но вам просто нужно добавить заголовок X-Github-OTP для первой команды. Замените CODE на код, полученный от поставщика двухфакторной аутентификации. Замените USER и REPO на имя пользователя и имя хранилища, как вы это сделали бы в его решении.
источник
Я написал отличный скрипт для этого под названием Gitter, используя REST API для GitHub и BitBucket:
https://github.com/dderiso/gitter
BitBucket:
GitHub:
-c
= создать новый репо-r
= поставщик репо (g = GitHub, b = BitBucket)-n
= название репо-l
= (необязательно) установить язык приложения в репоисточник
То, что вам нужно, это концентратор . Hub - это оболочка командной строки для git. Это было сделано для интеграции с нативным git с использованием псевдонима. Он пытается предоставить действия github в git, включая создание нового хранилища.
источник
Для получения инструкций по созданию токена перейдите сюда. Это команда, которую вы будете вводить (на дату этого ответа. (Замените все ключевые слова CAPS):
Как только вы введете свой пароль, вы увидите следующее, содержащее ваш токен.
Вы можете отозвать свой токен в любое время, зайдя сюда
источник
Я создал псевдоним Git для этого, основываясь на ответе Беннедича . Добавьте следующее к вашему
~/.gitconfig
:Чтобы использовать это, запустите
из любого места внутри локального репозитория и введите свой пароль Github, когда будет предложено.
источник
curl: (22) The requested URL returned error: 401 Traceback (most recent call last): File "<string>", line 1, in <module> File "/usr/lib64/python3.2/subprocess.py", line 488, in check_call raise CalledProcessError(retcode, cmd) subprocess.CalledProcessError: Command '['curl', '-u', 'myusername', 'https://api.github.com/user/repos', '-d', '{"name": "reponame"}', '--fail']' returned non-zero exit status 22
Для рубистов:
введите имя пользователя и pw как предложено
Источник: Elikem Adadevoh
источник
Для всех пользователей Python 2.7. *. Существует оболочка Python вокруг Github API, которая в настоящее время находится в версии 3, называется GitPython . Просто установите с помощью
easy_install PyGithub
илиpip install PyGithub
.Документы по
Repository
объекту здесь .источник
Disclamier: я автор проекта с открытым исходным кодом
Эта функциональность поддерживается: https://github.com/chrissound/Human-Friendly-Commands, по сути, именно этот скрипт:
источник
Personal Access Token
. (Старый способ добавления его через?access_token=${ACCESSTOKEN}
больше не работает.По причинам повторения я не могу добавить это как комментарий (куда лучше пойти с ответом Беннедича) ), но для командной строки Windows приведен правильный синтаксис:
curl -u YOUR_USERNAME https://api.github.com/user/repos -d "{\" name \ ": \" YOUR_REPO_NAME \ "}"
Это та же базовая форма, но вы должны использовать двойные кавычки (") вместо одинарных и избегать двойных кавычек, отправляемых в параметрах POST (после флага -d) с обратной косой чертой. Я также удалил одинарные кавычки вокруг моего имени пользователя, но если бы у вашего имени пользователя был пробел (возможно?), ему, вероятно, потребовались бы двойные кавычки.
источник
С официальным новым интерфейсом командной строки Github :
Смотрите дополнительные детали и опции и инструкции по установке .
Например, чтобы завершить ваш рабочий процесс git:
источник
Нашел это решение, которое мне понравилось: https://medium.com/@jakehasler/how-to-create-a-remote-git-repo-from-the-command-line-2d6857f49564
Сначала вам нужно создать личный токен Github.
Откройте ваш ~ / .bash_profile или ~ / .bashrc в вашем любимом текстовом редакторе. Добавьте следующую строку в верхней части вашего файла, где остальные переменные экспорта:
export GITHUB_API_TOKEN=<your-token-here>
Где-то ниже, с помощью других ваших функций bash, вы можете вставить что-то похожее на следующее:
Теперь, когда вы создаете новый проект, вы можете запустить команду
$ new-git awesome-repo
для создания нового публичного удаленного репозитория в вашей учетной записи пользователя Github.источник
вот мои начальные команды git (возможно, это действие происходит в
C:/Documents and Settings/your_username/
):источник
Недавно я узнал о create-github-repo . Из readme:
Установка:
Использование:
Или:
источник
создать новый репозиторий в командной строке
выдвинуть существующий репозиторий из командной строки
источник