Создать новое репо на Bitbucket с терминала Git Bash?
Можно ли создать новый репозиторий в Bitbucket с помощью командной строки Git? Я пробовал следующее:
git clone --bare https://[email protected]/username/new_project.git
Я получаю это сообщение:
Клонирование в голый репозиторий 'new_project.git'...
fatal: https://[email protected]/username/new_project.git/info/refs
not found: вы запустили git update-server-info на сервере?
Было бы неплохо сделать это, не перейдя в веб-приложение.
Ответы
Ответ 1
Вы можете использовать API REST Bitbucket и cURL. Например:
curl --user login:pass https://api.bitbucket.org/1.0/repositories/ \
--data name=REPO_NAME
чтобы создать новый репозиторий с именем REPO_NAME
.
Подробнее см. Использование API-интерфейсов BitBucket REST.
ОБНОВЛЕНИЕ
В частности, для Bitbucket V2 см. ОТПРАВИТЬ новое репо
Ответ 2
Совсем недавно мы можем просто использовать bitbucket-cli
.
Установите его, используя pip
pip install bitbucket-cli
Затем создайте репо, используя
bitbucket create --private --protocol ssh --scm git YOUR_REPO_NAME
Обратите внимание, что это создает частный репозиторий git, вы можете использовать --public
для общего доступа и --scm hg
, если вы используете Mercurial. Аргумент пользователя может быть добавлен через --username YOUR_USER_NAME
.
Ответ 3
Вот @hannesr script изменил бит, чтобы принять ввод из приглашений:
# startbitbucket - creates remote bitbucket repo and adds it as git remote to cwd
function startbitbucket {
echo 'Username?'
read username
echo 'Password?'
read -s password # -s flag hides password text
echo 'Repo name?'
read reponame
curl --user $username:$password https://api.bitbucket.org/1.0/repositories/ --data name=$reponame --data is_private='true'
git remote add origin [email protected]:$username/$reponame.git
git push -u origin --all
git push -u origin --tags
}
Вы должны поместить это в свои .bashrc
или .bash_aliases
.
Ответ 4
https://confluence.atlassian.com/bitbucket/repository-resource-423626331.html
$ curl -X POST -v -u username:password -H "Content-Type: application/json" \
https://api.bitbucket.org/2.0/repositories/teamsinspace/new-repository4 \
-d '{"scm": "git", "is_private": "true", "fork_policy": "no_public_forks" }'
Ответ 5
Я сделал быструю оболочку script, которая заботится о создании локального git в текущем рабочем каталоге, выполнив "Первоначальное коммит", а затем создаст репозиторий битбакет (используя метод зависания Mareks), а затем, наконец, сделав все что необходимо, чтобы перенести начальную фиксацию на битбакет.
(обратите внимание, что это только для частных репозиториев, но это легко изменить, как описано Патриком)
Используйте его следующим образом:
fillbucket <user> <password> <reponame>
Код находится на http://bitbucket.org/hannesr/fillbucket
Ответ 6
@hannester Я разветкил и немного изменил ваш script.
У вас был неправильный удаленный URL-адрес (вы оставили свое имя пользователя в script). Модифицировано
Имя пользователя и пароль в файле script.
И переименован с инструкциями о том, как добавить к пути:
https://bitbucket.org/oscarmorrison/newgit
Ответ 7
Верхний ответ cURL не работал у меня, поэтому я закончил его в Python с Bitbucket-API. Здесь документация по вызову repository.create().
Установка:
pip install bitbucket-api
Python:
>>> from bitbucket.bitbucket import Bitbucket
>>> bb = Bitbucket(username, password)
>>> bb.repository.create('awesome-repo', scm='git', private=True)
(True, {u'scm': ...})