Как я могу наложить локальное репо на Bitbucket с помощью SourceTree, не создавая сначала репо на битбакете?

Есть ли способ импортировать локальные репозитории git в SourceTree и направить их в мою учетную запись Bitbucket, если в моей учетной записи будут созданы новые репозитории, идентичные моим локальным репозиториям? Или мне нужно сначала сделать репо онлайн и нажать на это? Github имеет возможность публиковать локальные репозитории непосредственно с него, и он автоматически создает его при публикации, но имеет ограниченные частные репозитории. Я просто делаю домашнее задание, поэтому нет никаких оснований для его публичности, поэтому я пытаюсь использовать битбакет.

Ответ 1

Кажется возможным "публиковать" локальный репозиторий для BitBucket. Используя инструкции Atlassian, просто создайте новый репозиторий BitBucket, скопируйте URL-адрес репозитория в буфер обмена (в репозитории BitBucket перейдите к Actions > Clone, и он покажет вам ваш URL-адрес репо в форме git clone <repository url>), а затем добавит этот репозиторий в качестве нового удаленного в ваш локальный репозиторий:

Использование CLI

  • cd /path/to/my/repo
  • git remote add origin ssh://[email protected]/<username>/<reponame>.git
  • git push -u origin --all

Использование SourceTree

  • Репозиторий > Добавить удаленный...
  • Вставить URL-адрес репозитория BitBucket ([email protected]/<username>/<reponame>.git)

ОБНОВЛЕНИЕ: создание и регистрация ключей SSH

BitBucket отлично подходит для частных репозиториев, но вам нужно настроить ключ ssh для авторизации вашего компьютера для работы с учетной записью BitBucket. К счастью, Sourcetree делает его относительно простым:

Создание ключа в SourceTree:

  • В Tools > Options убедитесь, что SSH Client: установлено на PuTTY/Plink на вкладке General
  • Выберите Tools > Create or Import SSH Keys
  • В всплывающем окне нажмите Generate и передвиньте мышь, чтобы дать хаотичность генератору ключей.
  • Вы должны получить что-то вроде показанного на скриншоте ниже. Скопируйте открытый ключ (выделено синим цветом) в буфер обмена

    putty

  • Нажмите Save private Key и Save public key, чтобы сохранить свои ключи в любом месте (например, до <Home Dir>/putty/ssk-key.ppk и <Home Dir>/putty/ssh-key.pub соответственно), прежде чем переходить к следующему разделу

Регистрация ключа в битбакете

  • Войдите в свою учетную запись BitBucket, а в правом верхнем углу щелкните изображение своего профиля и нажмите Settings
  • Перейдите на вкладку SSH Keys на левой боковой панели
  • Нажмите Add SSH Key, укажите ему имя и вставьте открытый ключ, который вы скопировали на шаге 4 предыдущего раздела.

Что это! Теперь вы можете нажать/вытащить свои личные репозитории BitBucket. Ваши ключи предназначены не только для Git, многие службы используют ssh-ключи для идентификации пользователей, а лучшая часть - вам нужна только одна. Если вы когда-либо потеряли свои ключи (например, при смене компьютеров), просто выполните шаги для создания и регистрации нового.

Sidenote: создание SSH-ключей с использованием CLI

Просто следуйте этому руководству

Ответ 2

На самом деле существует более простое решение (только для версии Mac). Всего четыре шага:

  • Щелкните правой кнопкой мыши на репозитории и выберите "Опубликовать на удаленный..."

SourceTree Publish to Remote Screeshot

  1. В следующем окне будет предложено опубликовать (github, bitbucket и т.д.), а затем вы закончите.
  2. Ссылка на удаленный репозиторий
  3. Нажмите

Ответ 3

Поскольку это видео иллюстрирует, создание онлайн-репо - это обычный способ перехода.

Примечания к выпуску SourceTree указывают на SourceTree 1.5 +:

Поддержка создания новых репозиториев в командных/организационных учетных записях в Bitbucket.

Итак, пока нет функции публикации, вы можете создать онлайн-репо из SourceTree.

Сообщение в блоге SourceTree для Windows 1.2 здесь" (сентябрь 2013 г.) также упоминается:

Теперь вы можете настроить свои учетные записи Bitbucket, Stash и GitHub в SourceTree и мгновенно увидеть все свои репозитории в этих сервисах. Легко клонируйте их, откройте проект в Интернете, и даже создайте новые репозитории на удаленном сервисе, не покидая SourceTree.
Вы найдете его в меню в разделе "Просмотр" > "Показать размещенные репозитории" или с помощью новой кнопки в нижней правой части панели закладок.

http://blog.sourcetreeapp.com/files/2013/09/hostedrepowindow.png

Ответ 4

Я использовал это, и это сработало для меня. Если ваш каталог

"репо"  и ваш проект "привет" копирует проект там

cd /path/to/my/repo

Инициализировать каталог

git init

Сформируйте проект

git add hello

передать проект

git commit

Добавьте настройки, используя адрес электронной почты и имя пользователя, которое вы используете в Bitbucket

git config --global user.email
git config --global user.name

Добавить комментарий к проекту

git commit -m 'comment'

нажмите проект сейчас

git push origin master

Выйти из мастера

git checkout master

Ответ 5

Bitbucket поддерживает REST API, который вы можете использовать для программного создания репозиториев Bitbucket.

Документация и образец cURL доступны здесь: https://confluence.atlassian.com/bitbucket/repository-resource-423626331.html#repositoryResource-POSTanewrepository

$ 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" }'

В Windows, завиток доступен из оболочки Git Bash.

С помощью этого метода вы можете легко создать script для импорта многих репозиториев с локального сервера Git в Bitbucket.

Ответ 6

GIT хорошо служит для контроля версий и командных проектов, если фиксации и ветки поддерживаются должным образом.
Шаг 1: клонирование вашего локального репо с помощью cli, как указано выше, ответы

$cd [path_to_repo]
$ git удаленный добавочный источник ssh://git @bitbucket.org//. git
$ git push -u origin - all

Шаг 2: Вы можете выполнить любой из приведенных выше шагов, чтобы нажать/вытащить ваши работы. Простым способом является использование git gui. Он обеспечивает графический интерфейс, так что он легко сценирует (добавляет)/нестационарность, фиксирует/отключает и толкает/тянет. Начинающие могут легко понять процесс git.

$git gui

(ИЛИ)
Шаг 2: Как упоминалось выше. Коды Cli будут выполнять работу.

$git статус
$ git добавить [имя_файла]
$ git commit _m "[Сообщение Comit" ] "
$ git push origin master/branch_name

Ответ 7

Как обновление Joe answer, поскольку вы можете script создать репозиторий с помощью API, мне нужен только API-интерфейс, который мне нужен. Возможно, это связано с тем, что мы используем сервер bitbucket, а не облако bitbucket.

Чтобы создать новое репо в проекте на нашем сервере, я использовал:

curl -X POST -v -u USER:PASSWORD -H "Content-Type: application/json" \
http://SERVER/rest/api/1.0/projects/PROJECTNAME/repos/ \
-d '{"scmid":"git", "name":"REPONAME"}'

где USER, PASSWORD, SERVER, PROJECTNAME и REPONAME были, конечно, нужными/требуемыми значениями.

Вызов документирован в ссылке API.

/rest/api/1.0/projects/{projectKey}/хранилищу

Создайте новый репозиторий. Требуется существующий проект, в котором будет создан этот репозиторий. Единственными параметрами, которые будут использоваться, являются имя и scmId.

У аутентифицированного пользователя должно быть разрешение PROJECT_ADMIN, чтобы контекстный проект вызывал этот ресурс.