İlk olarak bitbucket üzerinde bir depo oluşturmadan SourceTree kullanarak yerel bir depoyu Bitbucket'a nasıl aktarabilirim?


116

Yerel git depolarımı SourceTree'ye içe aktarmanın ve bunları Bitbucket hesabıma göndermenin bir yolu var mı? Yoksa önce çevrimiçi bir repo yapıp ona itmeli miyim? Github, yerel depolarınızı doğrudan istemcisinden yayınlamanın bir yolunu sunar ve yayınladığınızda bunu otomatik olarak oluşturur, ancak sınırlı özel depolara sahiptir. Ben sadece ödev yapıyorum, bu yüzden halka açık olması için bir neden yok, bu yüzden neden bitbucket kullanmaya çalışıyorum.

Yanıtlar:


152

(ssh yerine https kullanmak için 3-29-2019 tarihinde güncellendi, böylece ssh anahtarlarını kullanmanıza gerek kalmaz)

Görünüşe göre BitBucket için, önce çevrimiçi bir repo oluşturmanız gerekiyor. Atlassian'daki talimatları kullanarak yeni bir BitBucket deposu oluşturun, depo url'sini panoya kopyalayın ve ardından bu depoyu yerel deponuza yeni bir uzaktan kumanda olarak ekleyin (aşağıdaki adımların tamamı):

Repo URL'sini Al

  1. BitBucket deponuzda, sağ üstteki "Klonla" yı seçin
  2. iletişim kutusunun sağ üst kısmında "SSH" yerine "HTTPS" yi seçin
  3. repo url'nizi formda göstermelidir git clone <repository url>

CLI Kullanarak Uzaktan Kumanda Ekle

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

SourceTree Kullanarak Uzaktan Kumanda Ekle

  1. Kod Deposu> Uzak Ekle ...
  2. BitBucket depo url'sini ( https://bitbucket.org/<username>/<reponame>.git) yapıştırın

Eski Yöntem: SSH Anahtarları Oluşturma ve Kaydetme

(Bu yöntem, https url yerine ssh url kullanıyorsanız, öyle görünüyor ssh://git@bitbucket.org/<username>/<reponame>.git. Sadece https kullanmanızı tavsiye ederim)

BitBucket, özel depolar için harikadır, ancak bilgisayarınızı BitBucket hesabınızla çalışması için yetkilendirmek için bir ssh anahtarı ayarlamanız gerekir. Neyse ki Sourcetree bunu nispeten basit hale getiriyor:

SourceTree'de Anahtar Oluşturma:

  1. In Tools> Options, emin olun SSH Client:ayarlandığında PuTTY/Plinkaltında Generalsekmesi
  2. Seç Tools>Create or Import SSH Keys
  3. Açılır pencerede, Generateanahtar oluşturucuya rastgelelik vermek için farenizi tıklayıp hareket ettirin.
  4. Aşağıdaki ekran görüntüsünde gösterilenlere benzer bir şey almalısınız. Genel anahtarı (mavi ile vurgulanmış) panonuza kopyalayın

    macun

  5. Bir sonraki bölüme geçmeden önce anahtarlarınızı seçtiğiniz yere (örneğin ve sırasıyla) kaydetmek için Save private Keyve tıklayınSave public key<Home Dir>/putty/ssk-key.ppk<Home Dir>/putty/ssh-key.pub

Anahtarı BitBucket'a Kaydetme

  1. BitBucket hesabınıza giriş yapın ve sağ üstte profil resminize tıklayın veSettings
  2. Git SSH KeysSol kenar çubuğundaki sekmesi
  3. Tıklayın Add SSH Key, bir ad verin ve önceki bölümün 4. adımında kopyaladığınız genel anahtarı yapıştırın.

Bu kadar! Artık BitBucket özel depolarınızı itip / çekebilmelisiniz. Anahtarlarınız da sadece Git için değildir, birçok hizmet kullanıcıları tanımlamak için ssh anahtarlarını kullanır ve en iyi yanı, yalnızca birine ihtiyacınız olmasıdır. Anahtarlarınızı kaybederseniz (örneğin, bilgisayar değiştirirken), yeni bir tane oluşturmak ve kaydetmek için adımları izleyin.

Ek not: CLI kullanarak SSH Anahtarları Oluşturma

Sadece bu öğreticiyi takip edin


kullanmak Paste the BitBucket repository url (git@bitbucket.org/<username>/<reponame>.git)sizi bir ssh anahtarı eklemeye zorlar. Zaten bir tane yoksa, acı çekecektir.
Alex Kyriakidis

1
evet BitBucket çoğunlukla özel depolar içindir, bu nedenle başlamak için bir ssh anahtarına ihtiyacınız olacak. Merak etmeyin, göründüğü kadar kötü değil!
Cevabıma

3
HTTPS'yi kullanmak çok daha kolayken neden SSH ve genel / özel anahtarlarla uğraşıyorsunuz? Gelen Cloneiletişim, HTTPS SSH aşağı sağ üst damla geçmek ve URL almak:https://bitbucket.org/<reponame>.git
Dan Dar3

1
@ DanDar3 Evet, teşekkür ederim, bu beni çok fazla güçlükten kurtardı.
Excrubulent

1
@ DanDar3 vay bu çok daha kolay, cevabı güncelledim, teşekkürler!
woojoo666

24

Aslında daha basit bir çözüm var (sadece Mac sürümünde). Sadece dört adım:

  1. Depoya sağ tıklayın ve "Uzakta yayınla ..." seçeneğini seçin.

Uzak Ekran Çekiminde SourceTree Yayınlama

  1. Bir sonraki pencere sizden yayınlamanızı isteyecektir (github, bitbucket, vb.) Ve sonra bitirdiniz.
  2. Uzak depoyu bağla
  3. it

Bu yeni olmalı. Bir süredir depoları kullanmadım, bu yüzden biraz deneyelim.
cma0014

3
Aslında bunun yalnızca SourceTree'nin Mac sürümünde olduğunu kontrol ettim, Windows'ta değil. :(
David

1
Evet, uzaktaki depoyu oluşturup oluşturmadığını kontrol ettim, ancak daha sonra yerel deponun uzaktan kumandalarına bağlanmadı. Sonraki sürümler için güzel bir yükseltme olurdu
David

1
@bauerMusic bu bana "devam eden" penceresiyle de oldu. Ama son zamanlarda değil. Dediğin gibi ... bu özellikle bir şeyler başarısız oluyor. Hepimizin beklediği gibi yeni uzak depoya bağlanmıyor. Her şeye rağmen SourceTree, bulduğum Mac için en iyi GIT yöneticisidir.
David

1
Aslında benim için mükemmel çalışıyor, depoyu yaratıyor ve onu yerel ve uzak ile ilişkilendiriyor, belki 2016'dan beri geliştiriyorlar
Kross

10

Bu videonun da gösterdiği gibi , önce çevrimiçi bir repo oluşturmak alışılagelmiş bir yoldur.

SourceTree Sürüm Notları SourceTree 1.5+ için söz yapın:

Bitbucket'ta ekip / kuruluş hesapları altında yeni havuzlar oluşturmayı destekleyin.

Yani "yayınlama" özelliği olmasa da, SourceTree'den çevrimiçi deponuzu oluşturabilirsiniz.

" Windows 1.2 için SourceTree burada " (Eylül 2013) blog gönderisinde ayrıca şunlar belirtilmektedir :

Artık Bitbucket, Stash ve GitHub hesaplarınızı SourceTree'de yapılandırabilir ve bu hizmetlerdeki tüm depolarınızı anında görebilirsiniz. Bunları kolayca klonlayın, projeyi web'de açın ve hatta SourceTree'den hiç ayrılmadan uzak hizmette yeni depolar oluşturun .
Bunu, Görünüm> Barındırılan Depoları Göster altındaki menüde veya yer imleri panelinin sağ alt tarafındaki yeni düğmeyi kullanarak bulabilirsiniz.

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


Bunu eve geldiğimde deneyeceğim, teşekkürler!
cma0014

Evet ama yerel geliştirici klasörünü repo yapmak zor.
Ben Racicot

3

Bunu kullandım ve benim için iyi sonuç verdi. Dizininiz

"repo" ve projeniz "merhaba" projeyi oraya kopyalayın

cd /path/to/my/repo

Dizininizi başlatın

git init

Projeyi aşama

git add hello

projeyi işle

git commit

Bitbucket'ta kullandığınız e-posta ve kullanıcı adını kullanarak yapılandırmalar ekleyin

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

Projeye yorum ekleyin

git commit -m 'comment'

projeyi şimdi zorla

git push origin master

Ustayı kontrol edin

git checkout master

3

Bitbucket, Bitbucket depolarını programlı olarak oluşturmak için kullanabileceğiniz bir REST API'yi destekler.

Belgeler ve cURL örneği burada bulunabilir: 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 altında curl, Git Bash kabuğundan kullanılabilir.

Bu yöntemi kullanarak, yerel bir git sunucusundan Bitbucket'a birçok depoyu içe aktarmak için kolayca bir komut dosyası oluşturabilirsiniz.


1

Bitbucket Deposunu Kurun (Mac ile Komut Satırı)

Yerel depodan başlayarak Yeni UYGULAMA oluşturun:

  1. Terminal -> cd ~ / Documents (UYGULAMA temel dizin yolunuzu yapıştırın)
  2. Terminal -> mkdir (ile dizin oluştur)
  3. Terminal -> cd (dizini dizinle değiştirin)
  4. BitBucket A / C -> bitBucket hesabında depo oluştur
  5. Xcode -> aynı adla yeni xcode projesi oluşturun
  6. Terminal -> git init (boş depoyu başlat)
  7. Terminal -> git uzaktan kaynak ekle (Ör. Https: //app@bitbucket.org/app/app.git )
  8. Terminal -> git ekle.
  9. Terminal -> git durumu
    1. Terminal -> git commit -m "IntialCommet"
    2. Terminal -> git itme kaynağı ana

UYGULAMA klon deposu oluşturun:

  1. Terminal -> mkdir (ile dizin oluştur)
  2. Terminal -> cd (dizini dizinle değiştirin)
  3. Terminal -> git clone (Ör. Https: //app@bitbucket.org/app/app.git )
  4. Terminal -> cd
  5. Terminal -> git durumu (Düzenleme / güncellenmiş dosya durumunu göster)
  6. Terminal -> git çekme kaynağı ana
  7. Terminal -> git ekle.
  8. Terminal -> git itme kaynağı ana

1

Windows Kullanıcıları İçin Başka Bir Çözüm:

Bu, doğrudan Windows Sourcetree uygulamasından yayınlama eksikliğine neden olan Bitbucket'a ulaşmak için bir köprü olarak Github'u kullanır.

  1. Yerel deponuzu Github masaüstü uygulamasına yükleyin.
  2. Depoyu Github masaüstü uygulamasından Github hesabınıza özel (gizlilik için - istenirse) depo olarak yayınlayın.
  3. Bitbucket web sitesinde kişisel / ekip hesabınızı açın
  4. Github'dan içe aktararak yeni bir Bitbucket deposu oluşturun.
  5. Depoyu Github'da silin.

Bu yapıldıktan sonra, her şey Bitbucket'a yüklenecektir. Yerel uzaktan kumandalarınızın muhtemelen Bitbucket'i işaret edecek şekilde yapılandırılması gerekecektir.


0

GIT, taahhütler ve şubeler düzgün bir şekilde sürdürülürse sürüm kontrolü ve ekip projeleri için amacına iyi hizmet eder.
Adım 1: Yukarıdaki cevaplarda belirtildiği gibi cli kullanarak yerel deponuzu klonlayın

$ cd [path_to_repo]
$ git uzak kaynak ekle ssh: //git@bitbucket.org//.git
$ git push -u kaynak --all

Adım 2: Çalışmalarınızı itmek / çekmek için yukarıdaki adımlardan herhangi birini takip edebilirsiniz. Kolay yol git gui kullanmaktır. Hazırlama (ekleme) / unstage, commit / uncommit ve push / pull işlemlerini kolaylaştırmak için Grafik Arayüz sağlar. Yeni başlayanlar git sürecini kolayca anlayabilir.

$ git gui

(VEYA)
2. Adım: Yukarıda belirtildiği gibi. Cli kodları işi yapacak.

$ git durumu
$ git ekle [dosya_adı]
$ git commit _m "[Tamam mesajı"] "
$ git itme kaynağı ana / dal_adı


0

Joe'nun cevabına bir güncelleme olarak , API'yi kullanarak havuzun oluşturulmasını komuta edebildiğiniz için, yalnızca ihtiyacım olan API çağrısı farklıydı. Bunun nedeni, bitbucket bulutu değil, bitbucket sunucusu kullanıyor olmamız olabilir.

Sunucumuzdaki bir proje içinde yeni bir depo oluşturmak için şunu kullandım:

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

nerede USER, PASSWORD, SERVER, PROJECTNAMEveREPONAME tabii ki, istenen / gereken değerlerin edildi.

Çağrı, API referansında belgelenmiştir .

/rest/api/1.0/projects/{projectKey}/repos

Yeni bir depo oluşturun. Bu havuzun oluşturulacağı mevcut bir proje gerektirir. Kullanılacak olan tek parametreler name ve scmId'dir.

Bağlam projesinin bu kaynağı çağırabilmesi için kimliği doğrulanmış kullanıcının PROJECT_ADMIN iznine sahip olması gerekir.


0

(En azından Linux / WSL) bitbucket.org'daki tarayıcıdan, yerel deponuzla aynı ada sahip boş bir depo oluşturun, yerel bir depoyu içe aktarmak için bitbucket tarafından önerilen talimatları izleyin (yazmak için iki komut).

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.