Как переместить локальное РЕПО в Bitbucket с помощью SourceTree без создания РЕПО на bitbucket первым?

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

8 ответов


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

используя Кли

  1. cd /path/to/my/repo
  2. git remote add origin ssh://git@bitbucket.org/<username>/<reponame>.git
  3. git push -u origin --all

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

  1. Репозиторий>Добавить Удаленный...
  2. вставьте url репозитория BitBucket (git@bitbucket.org/<username>/<reponame>.git)

UPDATE: создание и регистрация SSH-ключей

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

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

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

    putty

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

Регистрация Ключа В BitBucket

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

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

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

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


на самом деле есть более простое решение (только на Mac версии). Всего четыре шага:--1-->

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

SourceTree Publish to Remote Screeshot

  1. следующее окно попросит вас опубликовать (github, bitbucket и т. д.), а затем вы закончите.
  2. связать удаленный репозиторий
  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


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

"РЕПО" и ваш проект "Привет" скопируйте проект там

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 поддерживает API REST, который можно использовать для программного создания репозиториев 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 в Битбакет.


Setup Bitbucket Repository (Командная строка с Mac)

создать новое приложение, начиная с местных непушистый :

  1. Terminal - > cd ~ / Documents (вставьте путь к каталогу базы приложений)
  2. терминал - > mkdir (создать каталог с )
  3. Terminal - > cd (изменить каталог с каталогом)
  4. BitBucket A / C -> создать репозиторий на учетной записи bitBucket
  5. Xcode - > создать новый проект xcode с тем же именем
  6. Terminal - > git init (инициализировать пустое РЕПО)
  7. терминал - > git remote добавить origin (Ex. https://app@bitbucket.org/app/app.git)
  8. терминал - > git добавить .
  9. терминал - > состояние git
    1. терминал - > git commit-m "IntialCommet"
    2. терминал - > git push origin master

создать репозиторий клонов приложений:

  1. терминал - > mkdir (создать каталог с )
  2. Terminal - > cd (изменить каталог с каталогом)
  3. терминал - > git clone (Ex. https://app@bitbucket.org/app/app.git)
  4. терминал - > cd
  5. Terminal - > git status (показать изменить/обновить статус файла)
  6. терминал - > git pull origin master
  7. терминал - > git добавить .
  8. терминал - > git push origin master

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

$ cd [path_to_repo]
$ git remote добавить origin ssh://git@bitbucket.org//.git
$ git push-U origin --все

Шаг 2: Вы можете выполнить любой из вышеуказанных шагов, чтобы нажать / потянуть ваши работы. Простой способ-использовать Git gui. Он обеспечивает графический интерфейс, так что это легко этап (добавить)/unstage, commit/uncommit и push / pull. Новички могут легко понять процесс ЖКТ.

$ Git gui

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

$ git status
$ git add [имя_файла]
$ git commit _m "[Comit message"]"
$ git push origin master / branch_name


как обновление Джо, в том, что вы можете создать сценарий создания репозитория с помощью API, только вызов API, который мне нужен, был другим. Это может быть потому, что мы используем bitbucket server, а не bitbucket cloud.

создать новый РЕПО в рамках проекта на нашем сервере, я использовал:

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 для контекстного проекта для вызова этого ресурса.