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


116

Чи є спосіб імпортувати свої локальні git repos до SourceTree і переслати їх на мій обліковий запис Bitbucket, щоб у моєму акаунті були створені нові репости, ідентичні моїм місцевим репостам? Або я маю спершу зробити репо онлайн в режимі онлайн і натиснути на це? У Github є можливість публікувати локальні репости безпосередньо від свого клієнта, і він створює їх автоматично, коли ви публікуєте, але приватні репости обмежені. Я просто роблю домашні завдання, тому немає жодної причини, щоб він був публічним, отже, чому я намагаюся використовувати бітбукет.

Відповіді:


152

(оновлено 3-29-2019, щоб використовувати https замість ssh, тому вам не потрібно використовувати ключі ssh)

Схоже, що для BitBucket вам потрібно створити репо онлайн в першу чергу. Використовуючи вказівки від Atlassian , просто створіть нове сховище BitBucket, скопіюйте URL-сховище у буфер обміну, а потім додайте це сховище як новий віддалений у ваше місцеве сховище (повні кроки нижче):

Отримати URL-адресу Repo

  1. у вашому репортажі BitBucket виберіть "Клон" у верхньому правому куті
  2. виберіть "HTTPS" замість "SSH" у верхньому правому куті діалогу
  3. він повинен відображати вашу URL-адресу репо у формі git clone <repository url>

Додати дистанційне використання CLI

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

Додати віддалене користування SourceTree

  1. Репозиторій> Додати віддалений ...
  2. Вставте URL-сховище BitBucket ( https://bitbucket.org/<username>/<reponame>.git)

Старий метод: Створення та реєстрація ключів SSH

(цей метод полягає в тому випадку, якщо ви використовуєте ssh url замість URL-адреси https, як виглядає ssh://git@bitbucket.org/<username>/<reponame>.git. Я рекомендую просто використовувати https)

BitBucket чудово підходить для приватних репостів, але вам потрібно встановити ключ ssh, щоб дозволити комп'ютер працювати з вашим обліковим записом BitBucket. На щастя Sourcetree робить це порівняно просто:

Створення ключа в SourceTree:

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

    шпаклівка

  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-клавіші для ідентифікації користувачів, і найкраще, що вам потрібен лише той. Якщо ви коли-небудь втрачаєте ключі (наприклад, при зміні комп'ютерів), просто виконайте кроки, щоб створити та зареєструвати новий.

Сторінка: Створення ключів SSH за допомогою CLI

Просто дотримуйтесь цього підручника


використання Paste the BitBucket repository url (git@bitbucket.org/<username>/<reponame>.git)змусить вас додати ключ ssh. У випадку, якщо у вас вже немає існуючого, буде біль.
Алекс Киріакідіс

1
так, BitBucket в основному для приватних репостів, тому для початку вам знадобиться ключ ssh. Не хвилюйтесь, це не так вже й погано, як виглядає! До своєї відповіді я додав швидкий підручник
woojoo666,

3
Чому ви, хлопці, боретеся з SSH та публічними / приватними ключами, коли HTTPS набагато простіше використовувати? У Cloneдіалоговому вікні перемкніть праворуч у верхньому правому куті з SSH на HTTPS і отримайте URL-адресу:https://bitbucket.org/<reponame>.git
Dan Dar3,

1
@ DanDar3 Так, дякую, це врятувало мені багато клопоту.
Ексклюзивний

1
@ DanDar3 вау, що набагато простіше, я оновив відповідь, дякую!
woojoo666

24

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

  1. Клацніть правою кнопкою миші на сховищі та виберіть "Опублікувати на віддаленому ..."

SourceTree Опублікувати на віддаленому знімку

  1. Наступне вікно запитає, що ви повинні опублікувати (github, bitbucket тощо), і тоді ви закінчите.
  2. Зв’яжіть віддалений сховище
  3. Штовхати

Це повинно бути новим. Я фактично не використовував сховища протягом деякого часу, тому я дам йому кружляння.
cma0014

3
Насправді я перевірив, що це лише для Mac версії SourceTree, а не для Windows. :(
Давид

1
Так, я перевірив, що він створює репо на віддаленому сервері, але потім не встановлює посилання на віддалені локальні сховища. Це було б гарне оновлення для наступних версій
David

1
@bauerMusic це трапилося зі мною також із вікном "триває". Але останнім часом. Хоча як ви сказали ... щось не вдається з цією функцією. Він не посилається на нове віддалене репо, як ми всі очікували. Незважаючи на все, SourceTree - найкращий менеджер GIT для Mac, який я знайшов.
Девід

1
Насправді це ідеально підходить для мене, він створює репо і зв’язує його з місцевим та віддаленим, можливо, з 2016 року вони покращують його
Kross

10

Як ілюструє це відео , спочатку створити репо-онлайн - це звичайний шлях.

В Notes 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


Я спробую це, коли повернусь додому, Спасибі!
cma0014

Так, але зробити локальну папку для розробників репо стає важкою.
Бен Рачикот

3

Я це використав, і це добре спрацювало. Якщо ваш каталог

"repo", і ваш проект "привіт" скопіюйте туди проект

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

3

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 доступний завиток із оболонки Git Bash.

За допомогою цього методу ви можете легко створити сценарій для імпорту багатьох репостів з локального сервера git до Bitbucket.


1

Налаштування сховища Bitbucket (командний рядок з Mac)

Створіть нову заявку, починаючи з місцевої репозиції:

  1. Термінал -> cd ~ / Documents (Вставте шлях до базового каталогу APPLICATION)
  2. Термінал -> mkdir (створити каталог з)
  3. Термінал -> CD (змінити каталог з каталогом)
  4. BitBucket A / C -> створити сховище в обліковому записі bitBucket
  5. Xcode -> створити новий xcode проект з такою ж назвою
  6. Термінал -> git init (ініціювати порожнє репо)
  7. Термінал -> git remote add origin (напр. Https: //app@bitbucket.org/app/app.git )
  8. Термінал -> git add.
  9. Термінал -> git status
    1. Термінал -> git commit -m "IntialCommet"
    2. Термінал -> майстер походження git push

Створіть сховище клонів APPLICATION:

  1. Термінал -> mkdir (створити каталог з)
  2. Термінал -> CD (змінити каталог з каталогом)
  3. Термінал -> git клон (напр. Https: //app@bitbucket.org/app/app.git )
  4. Термінал -> cd
  5. Термінал -> статус git (Показати редагування / оновлений статус файлу)
  6. Terminal -> master git origin origin
  7. Термінал -> git add.
  8. Термінал -> майстер походження git push

1

Ще одне рішення для користувачів Windows:

Це використовує Github як міст, щоб дістатися до Bitbucket, що викликано відсутністю публікації безпосередньо з програми Windows Sourcetree.

  1. Завантажте місцеве репо в настільний додаток Github.
  2. Опублікуйте репо як приватне (для конфіденційності - за бажанням) репо з програми Github на робочому столі у своєму обліковому записі Github.
  3. Відкрийте свій особистий / командний рахунок на веб-сайті Bitbucket
  4. Створіть нове репортаж Bitbucket, імпортуючи з Github.
  5. Видаліть репо в Github.

Після цього все буде завантажено в Bitbucket. Ваші локальні пульти, ймовірно, потрібно буде налаштувати так, щоб зараз вказувати на Bitbucket.


0

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

$ cd [path_to_repo]
$ git remote add origin ssh: //git@bitbucket.org//.git
$ git push -u початок --all

Крок 2: Ви можете виконати будь-який з перерахованих вище кроків, щоб натиснути / витягнути свої роботи. Простий спосіб - використовувати git gui. Він надає графічний інтерфейс, щоб було легко поетапно (додавати) / нестабільно, здійснювати / скасовувати та натискати / тягнути. Початківці можуть легко зрозуміти процес git.

$ git gui

(АБО)
Крок 2: Як було сказано вище. Коди клієнтів виконають свою роботу.

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


0

Як оновлення відповіді Джо , оскільки ви можете скриптувати створення репозиторію за допомогою API, відрізнявся лише потрібний мені виклик API. Це може бути тому, що ми використовуємо сервер 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

Створіть новий сховище. Потрібен існуючий проект, в якому буде створено цей сховище. Єдині параметри, які будуть використані, - це ім'я та scmId.

Автентифікований користувач повинен мати PROJECT_ADMIN дозвіл для контекстного проекту для виклику цього ресурсу.


0

(Принаймні Linux / WSL) У веб-переглядачі bitbucket.org створіть порожнє репо з тим самим іменем, що і ваше місцеве репо, дотримуйтесь інструкцій, запропонованих бітбукетом для імпорту локального репо (дві команди для введення).

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.