Есть ли способ импортировать мои локальные репозитории git в SourceTree и отправить их в мою учетную запись Bitbucket, создав в моей учетной записи новые репозитории, идентичные моим локальным репозиториям? Или мне нужно сначала сделать репо онлайн и подтолкнуть к этому? У Github есть способ публиковать ваши локальные репозитории прямо из своего клиента, и он создает их автоматически, когда вы публикуете, но у него есть ограниченные частные репозитории. Я просто делаю домашнее задание, поэтому нет причин для его публикации, поэтому я пытаюсь использовать битбакет.
Как я могу отправить локальное репо в Bitbucket с помощью SourceTree, не создавая сначала репо на Bitbucket?
Ответы (11)
(обновлено 29.03.2019 для использования https вместо ssh, поэтому вам не нужно использовать ключи ssh)
Похоже, что для BitBucket вам сначала нужно создать репо в Интернете. Используя инструкции Atlassian, просто создайте новый репозиторий BitBucket, скопируйте URL-адрес репозитория в буфер обмена, а затем добавьте этот репозиторий в качестве нового пульта дистанционного управления в свой локальный репозиторий (полные шаги приведены ниже):
Получить URL-адрес репо
- в репозитории BitBucket выберите "Клонировать" в правом верхнем углу.
- выберите «HTTPS» вместо «SSH» в правом верхнем углу диалогового окна.
- он должен показать ваш URL-адрес репо в форме
git clone <repository url>
Добавить удаленное управление с помощью интерфейса командной строки
cd /path/to/my/repo
git remote add origin https://bitbucket.org/<username>/<reponame>.git
git push -u origin --all
Добавить удаленное использование SourceTree
- Репозиторий> Добавить удаленный ...
- Вставьте URL-адрес репозитория BitBucket (
https://bitbucket.org/<username>/<reponame>.git
)
Старый метод: создание и регистрация ключей SSH
(этот метод используется, если вы используете URL-адрес ssh вместо URL-адреса https, который выглядит как ssh://[email protected]/<username>/<reponame>.git
. Я рекомендую просто использовать https)
BitBucket отлично подходит для частных репозиториев, но вам необходимо настроить ssh-ключ, чтобы авторизовать ваш компьютер для работы с вашей учетной записью BitBucket. К счастью, Sourcetree делает это относительно простым:
Создание ключа в SourceTree:
- В _7 _> _ 8_ убедитесь, что для
SSH Client:
установлено значениеPuTTY/Plink
на вкладкеGeneral
- Выберите _12 _> _ 13_
- Во всплывающем окне щелкните
Generate
и наведите указатель мыши на произвольный генератор ключей. У вас должно получиться что-то вроде того, что показано на скриншоте ниже. Скопируйте открытый ключ (выделен синим) в буфер обмена.
- Нажмите
Save private Key
иSave public key
, чтобы сохранить ключи в любом месте (например, в<Home Dir>/putty/ssk-key.ppk
и<Home Dir>/putty/ssh-key.pub
соответственно) перед переходом к следующему разделу.
Регистрация ключа в BitBucket
- Войдите в свою учетную запись BitBucket и в правом верхнем углу щелкните изображение своего профиля и нажмите
Settings
- Перейдите на вкладку
SSH Keys
на левой боковой панели - Щелкните
Add SSH Key
, дайте ему имя и вставьте открытый ключ, который вы скопировали на шаге 4 предыдущего раздела.
Вот и все! Теперь вы должны иметь возможность отправлять / извлекать ваши частные репозитории BitBucket. Ваши ключи не только для Git, многие службы используют ssh-ключи для идентификации пользователей, и самое приятное то, что вам нужен только один. Если вы когда-нибудь потеряете свои ключи (например, при смене компьютера), просто следуйте инструкциям по созданию и регистрации нового.
Примечание: создание ключей SSH с помощью интерфейса командной строки
Просто следуйте этому руководству а>
Paste the BitBucket repository url ([email protected]/<username>/<reponame>.git)
заставит вас добавить ключ ssh. Если у вас еще нет существующего, будет боль.
- person Alex Kyriakidis; 12.06.2015
Clone
переключите верхний правый раскрывающийся список с SSH на HTTPS и получите URL: https://bitbucket.org/<reponame>.git
- person Dan Dar3; 31.03.2018
На самом деле есть более простое решение (только в версии для Mac). Всего четыре шага:
- Щелкните правой кнопкой мыши репозиторий и выберите «Опубликовать на удаленном ...»
- В следующем окне будет предложено опубликовать (github, bitbucket и т. Д.), И тогда все будет готово.
- Свяжите удаленный репозиторий
- Толкать
Settings
(верхний правый угол) ›Remotes
› выберите и отредактируйте origin
или Repository
меню ›Repository settings
› выберите и отредактируйте origin
.
- person Dan Dar3; 31.03.2018
Как показано в этом видеоролике, создание репозитория в Интернете является обычным способом.
В примечаниях к выпуску SourceTree упоминается для SourceTree 1.5+:
Поддержка создания новых репозиториев под учетными записями команды / организации в Bitbucket.
Таким образом, хотя функции «публикации» нет, вы можете создать свое онлайн-репо из SourceTree.
Сообщение в блоге "SourceTree для Windows 1.2 здесь "(сентябрь 2013 г.), также упоминают:
Теперь вы можете настроить свои учетные записи Bitbucket, Stash и GitHub в SourceTree и мгновенно увидеть все свои репозитории на этих сервисах. Легко клонируйте их, открывайте проект в Интернете, и даже создавайте новые репозитории на удаленной службе, даже не покидая SourceTree.
Вы найдете это в меню «Вид»> «Показать размещенные репозитории», или используя новую кнопку в правом нижнем углу панели закладок.
Я использовал это, и у меня это сработало. Если ваш каталог
"репо" и ваш проект "привет" скопируйте проект туда
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
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 curl доступен из оболочки Git Bash.
Используя этот метод, вы можете легко создать сценарий для импорта множества репозиториев с локального сервера git в Bitbucket.
Настройка репозитория Bitbucket (командная строка с Mac)
Создайте новое ПРИЛОЖЕНИЕ, начиная с локального репозитория:
- Терминал -> cd ~ / Documents (вставьте путь к базовому каталогу ПРИЛОЖЕНИЯ)
- Терминал -> mkdir (создать каталог с помощью)
- Терминал -> cd (сменить каталог на каталог)
- BitBucket A / C -> создать репозиторий в учетной записи bitBucket
- Xcode -> создать новый проект xcode с тем же именем
- Терминал -> git init (инициализировать пустое репо)
- Терминал -> git remote add origin (например, https://[email protected]/app/app.git)
- Терминал -> git add.
- Terminal -> git status
- Terminal -> git commit -m "IntialCommet"
- Терминал → git push origin master
Создать репозиторий клонов ПРИЛОЖЕНИЯ:
- Терминал -> mkdir (создать каталог с помощью)
- Терминал -> cd (сменить каталог на каталог)
- Терминал -> git clone (например, https://[email protected]/app/app.git)
- Терминал -> cd
- Терминал -> git status (Показать статус редактирования / обновления файла)
- Терминал → git pull origin master
- Терминал -> git add.
- Терминал → git push origin master
Другое решение для пользователей Windows:
При этом Github используется в качестве моста для доступа к Bitbucket, что вызвано отсутствием публикации непосредственно из приложения Windows Sourcetree.
- Загрузите локальное репо в настольное приложение Github.
- Опубликуйте репо как частное (для конфиденциальности - при желании) репо из настольного приложения Github в свою учетную запись Github.
- Откройте личную / командную учетную запись на сайте Bitbucket
- Создайте новое репозиторий Bitbucket, импортировав из Github.
- Удалите репо в Github.
Как только это будет сделано, все будет загружено в Bitbucket. Ваши локальные пульты, вероятно, нужно будет настроить так, чтобы они указывали на Bitbucket сейчас.
Если у вас есть локальный репозиторий в SourceTree, просто перейдите на сайт BitBucket, создайте там новый репозиторий без файла .gitignore, и после его создания на странице будут показаны следующие команды, которые помогут вам сделать то, что вы хотите:
git remote add origin https://[username]@bitbucket.org/[username]/[reponame].git
git push -u origin master
Вы можете использовать Git Bash в папке с локальным репозиторием SourceTree и вставить эти две команды. Теперь, когда вы отправляете фиксацию из SourceTree, она также будет отправлена в онлайн-репозиторий BitBucket.
GIT хорошо служит своей цели для контроля версий и командных проектов, если коммиты и ветки поддерживаются должным образом.
Шаг 1. Клонируйте локальное репо с помощью cli, как указано в ответах выше
$ cd [path_to_repo]
$ git remote add origin ssh: //[email protected]//.git
$ git push -u origin --all
Шаг 2: Вы можете выполнить любой из вышеперечисленных шагов, чтобы подтолкнуть / вытащить свои работы. Простой способ - использовать git gui. Он предоставляет графический интерфейс, так что легко ставить (добавлять) / отключать, фиксировать / отменять и нажимать / тянуть. Новички могут легко понять процесс git.
$ git gui
(ИЛИ)
Шаг 2: Как упоминалось выше. Коды cli сделают всю работу.
$ git status
$ git add [имя_файла]
$ git commit _m "[Comit message"] "
$ git push origin master / branch_name
В качестве обновления для ответа Джо, в котором вы можете создать сценарий создания репозитория с помощью API, только API вызывает I нужно было другое. Это может быть связано с тем, что мы используем сервер 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}/repos
Создайте новый репозиторий. Требуется существующий проект, в котором будет создан этот репозиторий. Единственные параметры, которые будут использоваться, это name и scmId.
У аутентифицированного пользователя должно быть разрешение PROJECT_ADMIN, чтобы контекстный проект мог вызывать этот ресурс.
(По крайней мере, Linux / WSL) В браузере на bitbucket.org создайте пустое репо с тем же именем, что и ваше локальное репо, следуйте инструкциям, предложенным bitbucket для импорта локального репо (две команды для ввода).