Есть ли способ импортировать локальные репозитории git в SourceTree и направить их в мою учетную запись Bitbucket, если в моей учетной записи будут созданы новые репозитории, идентичные моим локальным репозиториям? Или мне нужно сначала сделать репо онлайн и нажать на это? Github имеет возможность публиковать локальные репозитории непосредственно с него, и он автоматически создает его при публикации, но имеет ограниченные частные репозитории. Я просто делаю домашнее задание, поэтому нет никаких оснований для его публичности, поэтому я пытаюсь использовать битбакет.
Как я могу наложить локальное репо на Bitbucket с помощью SourceTree, не создавая сначала репо на битбакете?
Ответ 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
и передвиньте мышь, чтобы дать хаотичность генератору ключей. -
Вы должны получить что-то вроде показанного на скриншоте ниже. Скопируйте открытый ключ (выделено синим цветом) в буфер обмена
- Нажмите
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). Всего четыре шага:
- Щелкните правой кнопкой мыши на репозитории и выберите "Опубликовать на удаленный..."
- В следующем окне будет предложено опубликовать (github, bitbucket и т.д.), а затем вы закончите.
- Ссылка на удаленный репозиторий
- Нажмите
Ответ 3
Поскольку это видео иллюстрирует, создание онлайн-репо - это обычный способ перехода.
Примечания к выпуску SourceTree указывают на SourceTree 1.5 +:
Поддержка создания новых репозиториев в командных/организационных учетных записях в Bitbucket.
Итак, пока нет функции публикации, вы можете создать онлайн-репо из SourceTree.
Сообщение в блоге SourceTree для Windows 1.2 здесь" (сентябрь 2013 г.) также упоминается:
Теперь вы можете настроить свои учетные записи Bitbucket, Stash и GitHub в SourceTree и мгновенно увидеть все свои репозитории в этих сервисах. Легко клонируйте их, откройте проект в Интернете, и даже создайте новые репозитории на удаленном сервисе, не покидая SourceTree.
Вы найдете его в меню в разделе "Просмотр" > "Показать размещенные репозитории" или с помощью новой кнопки в нижней правой части панели закладок.
Ответ 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, чтобы контекстный проект вызывал этот ресурс.