BitBucket'te eski taahhüdün tam kaynağına nasıl erişilir?


227

Yeni Bit Bucket biçiminde eski bir taahhüdün kaynağına nasıl erişileceğine dair belgeleri bulamıyorum veya bulamıyorum. Bu artık mümkün mü?


1
Hangi yeni biçim? Mercurial veya Git mi kullanıyorsunuz? Eski bir sürüme güncellemek için Mercurial veya Git istemcilerini kullanmanız yeterlidir.
Erno

Yanıtlar:


369

Mercurial / Git istemcisi kullanmadan BitBucket web arayüzü üzerinden eski bir sürümü indirmek istediğinizi belirtmişsiniz.

Bu ilgili soruyu kontrol edin . Yorumlarda, birisi bunu yapmanın bir yolu olmadığını söylüyor. Neyse ki, bu tamamen doğru değil.

BitBucket proje sayfalarında gezinerek, rastgele bir sürümü indirmek için bir bağlantı bulamadım. Belirli etiketleri indirmek için bağlantılar vardır:

https://bitbucket.org/owner/repository/get/v0.1.2.tar.gz

Ancak yukarıdaki URL'yi biraz değiştirerek, etiket adını taahhüt karma ile değiştirerek, örneğin:

https://bitbucket.org/owner/repository/get/A0B1C2D.tar.gz

Aslında belirli bir sürümü indirebilirsiniz.

Rakka Rage tarafından bir yorumda belirtildiği gibi , yerine .tar.gzde .zipçalışıyor.


Bir taahhüdü klonlamak için yukarıdaki Android Studio terminalindeki bağlantıyı kullanabilir miyim? Öyleyse, temel terminal kodunu verebilir misiniz?
tccpg288

1
Keşke bu yüzden kendi Web sitesinde bu göstermek istiyorum.
rulo

1
Neden alakalı değil? Sadece tekrar test ettim (2018-08-06) ve hala çalışıyor. Belki BitBucket sunucuları "kurum içi" ile ilgili bir sorun? Bunu bitbucket.org sunucusunda test ettim .
Rudy Matela

api.bitbucket.orgşimdi olmalı
Alexander Mills

1
Hala çalıştığını doğrulayabilir miyimbitbucket.org
Vely

202

GitHub'da olduğu gibi önceki bir taahhüdün koduna göz atmanın mümkün olup olmadığını anlamaya çalışıyordum ve beni buraya getirdi. Burada bulduğum bilgileri kullandım ve URL'lerle uğraştıktan sonra, aslında eski taahhütlerin koduna göz atmanın bir yolunu buldum.

Kodunuza göz atarken, URL şuna benzer:

https://bitbucket.org/user/repo/src/

ve sonuna böyle bir sağlama karması ekleyerek:

https://bitbucket.org/user/repo/src/a0328cb

Bu işlemin yapıldığı noktada koda göz atabilirsiniz. Bir taahhüdü doğrudan seçmek için neden bir açılır kutu olmadığını anlamıyorum, özellik zaten orada. Garip.


2
Tam da ihtiyacım olan şey bu. Bitbucket'in sitesinden bu URL'ye doğrudan bir bağlantı eksik.
Johnny Oshika

Ne yazık ki, bu işe yaramıyor. Ya da daha doğrusu iş, ama kısmen. Örneğin, göz atabilirsiniz, https://bitbucket.org/lyro/evil/src/8cbfd51ancak girerseniz hg clone https://bitbucket.org/lyro/evil/src/8cbfd51, rastgele bir düzeltme, belki de en sonuncusu alırsınız.
Hi-Melek

Bir geçici çözüm bulundu, buhg clone -r8cbfd51 https://bitbucket.org/lyro/evil/src/
Hi-Angel

3
Kopyalamak + yapıştırmak istemeyenler için: belirli bir taahhüde göz atın, url gibi bir şey olacaktır https://bitbucket.org/user/project/commits/0000000000000000000000000000000000000000?at=master. Şimdi, commitsURL'yi değiştirin srcve bu işlemde tam kaynağa göz atıyorsunuz!
Peter

176

Aşama 1

Aşama 1


Adım 2

Adım 2


Aşama 3

Aşama 3


4. Adım

4. Adım


Son adım

Son adım


2
@ManojG İşte benden bir tane. Görünüşe göre, tüm ağaca belirli bir taahhütte, oldukça kafa karıştırıcı bir şekilde de olsa ulaşmanın bir yolu var.
Malcolm

2
BU CEVAP AŞK. Not: ayrıca dosyaya gidebilir ve açılır menüyü kullanabilirsiniz. TEŞEKKÜR EDERİM!
mattdlockyer

3
Bu cevaptan daha şaşırtıcı bir düğme tıklamasıyla yapamayız ... bazı şeyler gerçekten şaşırtıcı ....
Nuno Gonçalves

bu adım benim için çözülmedi, ne sonuç verdi: @mattdlockyer'den cevap, bir dosya seçin, açılır menüye tıklayın, daha eski bir taahhüt seçin ve sonra oscar yazısından son görüntü gibi repo temel bağlantısına dönün
user2582318

1
Tüm bu çalışır ama indirirken, her zaman en son taahhüt. Yanlış mı yapıyorum yoksa bu şekilde mi?
Jay Mehta

29

Teknemin bu cevapların hiçbirinin tam olarak işe yaramadığı bir yerde olması durumunda, işte yaptım.

Belki de şirket içi Bitbucket sunucumuz çoğudan biraz farklı bir şekilde ayarlanmıştır, ancak normalde sadece ana daldaki dosyaları görüntülemek için gideceğim URL:

https://<BITBUCKET_URL>/projects/<PROJECT_GROUP>/repos/<REPO_NAME>/browse

Açılır menüden master'dan farklı bir dal seçersem, şunu elde ederim:

https://<BITBUCKET_URL>/projects/<PROJECT_GROUP>/repos/<REPO_NAME>/browse?at=refs%2Fheads%2F<BRANCH_NAME>

Bunu yapmayı denedim ve işe yaradı:

https://<BITBUCKET_URL>/projects/<PROJECT_GROUP>/repos/<REPO_NAME>/browse?at=<COMMIT_ID>

Şimdi tüm repoya o taahhüt sırasında olduğu gibi göz atabilirim.


6
Bu cevap gerçekten işe yarıyor. Daha popüler olanlar, Bitbucket
Klas Mellbourn'un

9

Birkaç yıl önceki harika cevaplar. Şimdi Bitbucket bunu kolaylaştırdı.

İndirmek istediğiniz Kurul'u etiketleyin (Rudy Matela'nın cevabında belirtildiği gibi).

Ardından İndirilenler'e gidin ve "Etiketler" sekmesini tıklayın; indirmek için birden fazla seçenek elde edersiniz.

Etiket İndirmeleri


1
Bu kolayca gitmek için en basit yoldu. Etiketlerle ilgili sorunları alamayanlar için belirli bir işleme tıklayın ve sağ üst köşede görünüm kaynağını, dalı, kesinliği ve etiketleri göreceksiniz. Etiketinizi buraya ekleyin, ardından indirmeye gidin.
PGMacDesign

8

Kayıt için URL'leri bu şekilde de oynayabilirsiniz:

En son kaynağa göz atarken, aşağıdakilere benzer: https://bitbucket.org/my/repo/src/latestcommithash/my.file?at=master

İşleme karmasını değiştirin ve GET parametresini kaldırın: https://bitbucket.org/my/repo/src/wantedcommithash/my.file

Yukarıda +1 @Hein A. Grønnestad var: hepsi çalışıyor, gerçekten GUI'de kullanmak için hiçbir şey olmadığını merak ediyor.



1

?until=<sha-of-commit>URL'ye (dosya adından sonra) ekleyerek dosyanın kaynağını belirli bir işleme kadar görüntüleyebilirsiniz .


1

Çok geç olduğunu biliyorum, ancak API 2.0 ile

komut satırından:

curl https://api.bitbucket.org/2.0/repositories/<user>/<repo>/filehistory/<branch>/<path_file>

veya php ile:

$data = json_decode(file_get_contents("https://api.bitbucket.org/2.0/repositories/<user>/<repo>/filehistory/<branch>/<path_file>", true));

dosyanızın geçmişine sahipsiniz (en son işlemden en eskisine):

{
"pagelen": 50,
"values": [
    {
      "links": {
        "self": {
          "href": "https://api.bitbucket.org/2.0/repositories/<user>/<repo>/src/<hash>/<path_file>"
        },
        "meta": {
          "href": "https://api.bitbucket.org/2.0/repositories/<user>/<repo>/src/<HEAD>/<path_file>?format=meta"
        },
        "history": {
          "href": "https://api.bitbucket.org/2.0/repositories/<user>/<repo>/filehistory/<HEAD>/<path_file>"
        }
      },
      "commit": {
        "hash": "<HEAD>",
        "type": "commit",
        "links": {
          "self": {
            "href": "https://api.bitbucket.org/2.0/repositories/<user>/<repo>/commit/<HEAD>"
          },
          "html": {
            "href": "https://bitbucket.org/<user>/<repo>/commits/<HEAD>"
          }
        }
      },
      "attributes": [],
      "path": "<path_file>",
      "type": "commit_file",
      "size": 31
    },
    {
      "links": {
        "self": {
          "href": "https://api.bitbucket.org/2.0/repositories/<user>/<repo>/src/<HEAD~1>/<path_file>"
        },
        "meta": {
          "href": "https://api.bitbucket.org/2.0/repositories/<user>/<repo>/src/<HEAD~1>/<path_file>?format=meta"
        },
        "history": {
          "href": "https://api.bitbucket.org/2.0/repositories/<user>/<repo>/filehistory/<HEAD~1>/<path_file>"
        }
      },
      "commit": {
        "hash": "<HEAD~1>",
        "type": "commit",
        "links": {
          "self": {
            "href": "https://api.bitbucket.org/2.0/repositories/<user>/<repo>/commit/<HEAD~1>"
          },
          "html": {
            "href": "https://bitbucket.org/<user>/<repo>/commits/<HEAD~1>"
          }
        }
      },
      "attributes": [],
      "path": "<path_file>",
      "type": "commit_file",
      "size": 20
    }
  ],
  "page": 1
}

Nerede values> links> selfBirlikte alabilmesi tarihinin şu anda dosyayı sağlar curl <link>veya file_get_contents(<link>).

Sonunda, komut satırından şunlarla filtre uygulayabilirsiniz:

 curl https://api.bitbucket.org/2.0/repositories/<user>/<repo>/filehistory/<branch>/<path_file>?fields=values.links.self

php, sadece foreachdizi bir döngü yapmak $data.

Not: eğer <path_file>sahip bir /sen var onu dönüştürmek için %2F.

Buradaki dokümana bakın: https://developer.atlassian.com/bitbucket/api/2/reference/resource/repositories/%7Busername%7D/%7Brepo_slug%7D/filehistory/%7Bnode%7D/%7Bpath%7D

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.