Databricks Git klasörlerinde Git işlemlerini çalıştırma (Depolar)
Makalede Kopyalama, dallanma, işleme ve gönderme dahil olmak üzere Git klasörlerini kullanarak Databricks çalışma alanınızda yaygın Git işlemlerinin nasıl gerçekleştirildiği açıklanır.
Uzak git deposuna bağlı depoyu kopyalama
Kenar çubuğunda Çalışma Alanı'nı seçin ve git deposu kopyasını oluşturmak istediğiniz klasörün tarayıcısını kullanın.
Çalışma alanının sağ üst kısmındaki Ekle'nin sağındaki aşağı oka tıklayın ve açılan listeden Git klasörünü seçin.
Git klasörü oluştur iletişim kutusunda aşağıdaki bilgileri sağlayın:
- Kopyalamak istediğiniz Git deposunun URL'si biçiminde
https://example.com/organization/project.git
- Kopyalamak istediğiniz deponun Git sağlayıcısı. Seçenekler arasında GitHub, GitHub Enterprise, GitLab ve Azure DevOps (Azure Depoları) bulunur
- Çalışma alanınızda kopyalanan deponun içeriğini içerecek klasörün adı
- Yalnızca koni deseni kullanılarak belirtilen alt dizinlerin kopyalandığı seyrek kullanıma alma özelliğini kullanıp kullanmayacağınız
- Kopyalamak istediğiniz Git deposunun URL'si biçiminde
Bu aşamada seyrek kullanıma alma kullanarak deponuzun dizinlerinin yalnızca bir alt kümesini kopyalama seçeneğiniz vardır. Bu, deponuzun Databricks tarafından desteklenen sınırlardan daha büyük olması durumunda kullanışlıdır
- Git klasörü oluştur'a tıklayın. Uzak deponun içeriği Databricks deposuna kopyalanmıştır ve çalışma alanınız aracılığıyla desteklenen Git işlemlerini kullanarak bunlarla çalışmaya başlayabilirsiniz.
En iyi yöntem: Git klasörlerinde işbirliği yapma
Databricks Git klasörleri, kullanıcıların Git tabanlı kaynak denetimi ve sürüm oluşturma kullanarak işbirliği yapmasına olanak tanır. Ekip işbirliğini daha etkili hale getirmek için, kendi geliştirme dallarında çalışan her kullanıcı için uzak git deposuna eşlenmiş ayrı bir Databricks Git klasörü kullanın. Birden çok kullanıcı git klasörüne içerik katkıda bulunabilir ancak yalnızca bir kullanıcı çekme, gönderme, işleme ve dal değiştirme gibi Git işlemlerini gerçekleştirmelidir. Git klasöründe birden çok kullanıcı Git işlemleri gerçekleştiriyorsa, dal yönetimi zorlaşabilir ve kullanıcının bir dalı değiştirdiği ve istemeden bu klasörün diğer tüm kullanıcıları için değiştirdiği durumlar gibi hataya açık hale gelebilir.
Bir Git klasörünü bir ortak çalışanla paylaşmak için Bağlantıyı kopyala'ya tıklayarak Databricks çalışma alanınızın üst kısmındaki başlıkta Git klasörü oluşturun. Bu eylem, başka bir kullanıcıya gönderebileceğiniz bir URL'yi yerel panonuza kopyalar. Alıcı kullanıcı bu URL'yi bir tarayıcıya yüklediğinde, aynı uzak Git deposundan kopyalanan kendi Git klasörünü oluşturabilecekleri çalışma alanına yönlendirilir. Kullanıcı arabiriminde kendi Git klasörünüzden alınan değerlerle önceden doldurulmuş git klasörü oluştur kalıcı iletişim kutusunu görürler. Kalıcı olarak mavi Git klasörü oluştur düğmesine tıkladığında Git deposu, artık doğrudan üzerinde çalışabilecekleri geçerli çalışma klasörünün altındaki çalışma alanına kopyalanır.
Paylaşılan çalışma alanında başka birinin Git klasörüne erişirken üstteki başlıkta Git klasörü oluştur'a tıklayın. Bu eylem, sizin için Git klasörü oluştur iletişim kutusunu açar ve bunu destekleyen Git deposu yapılandırmasıyla önceden doldurulur.
Önemli
Şu anda Git klasöründe Git işlemleri gerçekleştirmek için Git CLI'sini kullanamazsınız. Kümenin web terminali üzerinden CLI kullanarak bir Git deposunu klonlarsanız, dosyalar Azure Databricks kullanıcı arabiriminde görüntülenmez.
Git iletişim kutusuna erişme
Git iletişim kutusuna bir not defterinden veya Databricks Git klasörleri tarayıcısından erişebilirsiniz.
Not defterinde, geçerli Git dalını tanımlayan not defterinin adının yanındaki düğmeye tıklayın.
Databricks Git klasörleri tarayıcısından depo adının sağındaki düğmeye tıklayın. Ayrıca depo adına sağ tıklayıp menüden Git... öğesini de seçebilirsiniz.
Git işlemlerini gerçekleştirebileceğiniz tam ekran bir iletişim kutusu görürsünüz.
- Geçerli çalışma dalınız. Diğer dalları buradan seçebilirsiniz. Diğer kullanıcıların bu Git klasörüne erişimi varsa, dalı değiştirmek, aynı çalışma alanını paylaşıyorlarsa dalını da değiştirir. Bu sorundan kaçınmak için önerilen en iyi yönteme bakın.
- Yeni dal oluşturma düğmesi.
- Geçerli dalınıza iade edilmiş dosya varlıklarının ve alt klasörlerin listesi.
- Sizi Git sağlayıcınıza götüren ve geçerli dal geçmişini gösteren bir düğme.
- Uzak Git deposundan içerik çekme düğmesi.
- Değişiklikleriniz için işleme iletisi ve isteğe bağlı genişletilmiş açıklama eklediğiniz metin kutusu.
- Çalışmanızı çalışma dalına işleme ve güncelleştirilmiş dalı uzak Git deposuna gönderme düğmesi.
Sabit sıfırlama, birleştirme veya yeniden temel oluşturma gibi ek Git dal işlemleri arasından seçim yapmak için sağ üstteki kebap öğesine tıklayın.
Burası, çalışma alanı Git klasörünüzde Git işlemleri gerçekleştirmek için evinizdir. Kullanıcı arabiriminde sunulan Git işlemleriyle sınırlısınız.
Yeni dal oluşturma
Git iletişim kutusundan var olan bir dalı temel alan yeni bir dal oluşturabilirsiniz:
Farklı bir dala geçme
Git iletişim kutusundaki dal açılan listesini kullanarak farklı bir dala geçebilirsiniz (kullanıma alabilirsiniz):
Önemli
Git klasöründeki bir dalı kullanıma aldıktan sonra, dalın uzak Git deposunda başka biri tarafından silinmesi her zaman bir olasılıktır. Uzak depoda bir dal silinirse, yerel sürüm 7 güne kadar ilişkili Git klasöründe bulunabilir. Databricks'teki yerel dallar silinemez, bu nedenle bunları kaldırmanız gerekiyorsa depoyu da silmeniz ve yeniden kapatmalısınız.
Değişiklikleri uzak Git deposuna işleme ve gönderme
Yeni not defterleri veya dosyalar eklediğinizde ya da var olan not defterlerinde veya dosyalarda değişiklik yaptığınızda Git klasörü kullanıcı arabirimi değişiklikleri vurgular.
Değişiklikler için gerekli bir işleme iletisi ekleyin ve bu değişiklikleri uzak Git deposuna göndermek için İşle ve Gönder'e tıklayın.
Varsayılan dala (dal gibi main
) işleme izniniz yoksa yeni bir dal oluşturun ve Git sağlayıcınızın arabirimini kullanarak bir çekme isteği (PR) oluşturarak bunu varsayılan dalla birleştirin.
Not
- Not defterleri kaynak dosya biçimlerinde (
.py
, , ,.sql
.r
) kaydedildiğinde not.scala
defteri çıkışları varsayılan olarak işlemelere dahil değildir. IPYNB biçimini kullanarak not defteri çıkışlarını işleme hakkında bilgi için bkz . IPYNB not defteri çıkış yapıtlarını denetleme
Uzak Git deposundan değişiklikleri çekme
Uzak Git deposundaki değişiklikleri çekmek için Git işlemleri iletişim kutusunda Çek'e tıklayın. Not defterleri ve diğer dosyalar otomatik olarak uzak Git deponuzdaki en son sürüme güncelleştirilir. Uzak depodan çekilen değişiklikler Databricks'teki yerel değişikliklerinizle çakışıyorsa, birleştirme çakışmalarını çözmeniz gerekir.
Önemli
Yukarı akış değişikliklerini çeken Git işlemleri not defteri durumunu temizler. Daha fazla bilgi için bkz . Gelen değişiklikler not defteri durumunu temizleme.
Dalları birleştirme
Git İşlemleri iletişim kutusunun sağ üst kısmındaki kebaptan seçerek Git Birleştirme işlemine erişin.
Databricks Git klasörlerindeki merge işlevi kullanarak git merge
bir dalı başka bir dalla birleştirir. Birleştirme işlemi, bir daldaki işleme geçmişini başka bir dalda birleştirmenin bir yoludur; tek fark, bunu başarmak için kullandığı stratejidir. Git'e yeni başlayanlar için, bir dala zorla gönderme gerektirmediğinden ve bu nedenle işleme geçmişini yeniden yazmadığından birleştirme (yeniden temellendirme üzerinden) kullanmanızı öneririz.
- Birleştirme çakışması varsa Git klasörleri kullanıcı arabiriminde bu sorunu çözün.
- Çakışma yoksa, birleştirme kullanılarak
git push
uzak Git deposuna gönderilir.
Rebase
başka bir daldaki bir dal
Git İşlemleri iletişim kutusunun sağ üst kısmındaki kebap menüsünden seçerek Git Rebase işlemine erişin.
Yeniden boyutlandırma, bir dalın işleme geçmişini değiştirir. gibi git merge
, git rebase
değişiklikleri bir daldan diğerine tümleştirir. Rebase aşağıdakileri yapar:
- Geçerli dalınızdaki işlemeleri geçici bir alana kaydeder.
- Geçerli dalı seçilen dala sıfırlar.
- Daha önce geçerli dala kaydedilmiş her bir işlemeyi yeniden uygulayarak her iki daldaki değişiklikleri birleştiren doğrusal bir geçmiş elde eder.
Uyarı
Rebase kullanmak, aynı depoda çalışan ortak çalışanlar için sürüm oluşturma sorunlarına neden olabilir.
Yaygın bir iş akışı, ana daldaki bir özellik dalını yeniden temel almaktır.
Başka bir daldaki bir dalı yeniden temel almak için:
Git klasörleri kullanıcı arabirimindeki Dal menüsünden yeniden temel almak istediğiniz dalı seçin.
Kebap menüsünden Yeniden Temelle'yi seçin.
Yeniden temel almak istediğiniz dalı seçin.
Yeniden temel oluşturma işlemi, burada seçtiğiniz daldaki değişiklikleri geçerli dala tümleştirir.
Databricks Git klasörleri, uzak Git deposunu güncelleştirmek için çalışır git commit
git push --force
.
Birleştirme çakışmalarını çözme
Birleştirme çakışmaları, 2 veya daha fazla Git kullanıcısı bir dosyanın aynı satırlarına yapılan değişiklikleri ortak bir dalda birleştirmeye çalıştığında ve Git uygulanacak "doğru" değişiklikleri seçemediğinde oluşur. Birleştirme çakışmaları, kullanıcı değişiklikleri başka bir daldan, kaydedilmemiş değişikliklerle bir dala çekmeyi veya birleştirmeyi denediğinde de oluşabilir.
Çekme, yeniden temel alma veya birleştirme gibi bir işlem birleştirme çakışmaya neden olursa, Git klasörleri kullanıcı arabirimi çakışmaları olan dosyaların listesini ve çakışmaları çözmeye yönelik seçenekleri gösterir.
İki birincil seçeneğiniz vardır:
- Çakışmayı çözmek için Git klasörleri kullanıcı arabirimini kullanın.
- Git işlemini durdurun, çakışan dosyadaki değişiklikleri el ile atın ve Git işlemini yeniden deneyin.
Git klasörleri kullanıcı arabirimiyle birleştirme çakışmalarını çözerken, düzenleyicideki çakışmaları el ile çözümleme veya gelen veya geçerli tüm değişiklikleri saklama arasında seçim yapmanız gerekir.
Tüm Geçerli Değişiklikleri Koru veya Gelen Değişiklikleri Al
Yalnızca tüm geçerli veya gelen değişiklikleri saklamak istediğinizi biliyorsanız, not defteri bölmenizde dosya adının sağındaki kebap öğesine tıklayın ve Tüm geçerli değişiklikleri koru veya Tüm gelen değişiklikleri al'ı seçin. Değişiklikleri işlemek ve çakışmayı çözmek için aynı etikete sahip düğmeye tıklayın.
İpucu
Hangi seçeneğin seçildiği konusunda kafanız mı karıştı? Her seçeneğin rengi, dosyada tutacağı ilgili kod değişiklikleriyle eşleşir.
Çakışmaları El ile Çözme
El ile çakışma çözümü, birleştirmede çakışan satırlardan hangisinin kabul edilmesi gerektiğini belirlemenizi sağlar. Birleştirme çakışmaları için, çakışmaları içeren dosyanın içeriğini doğrudan düzenleyerek çakışmayı çözersiniz.
Çakışmayı çözmek için, korumak istediğiniz kod satırlarını seçin ve Git birleştirme çakışma işaretçileri de dahil olmak üzere diğer her şeyi silin. İşiniz bittiğinde Çözümlendi Olarak İşaretle'yi seçin.
Birleştirme çakışmalarını çözerken yanlış seçimler yaptığınıza karar verirseniz işlemi durdurmak ve her şeyi geri almak için İptal düğmesine tıklayın. Tüm çakışmalar çözümlendikten sonra çakışmayı çözmek ve işlemi tamamlamak için Birleştirmeye Devam Et veya Yeniden Temele Devam Et seçeneğine tıklayın.
Aptal reset
Databricks Git klasörlerinde, Azure Databricks kullanıcı arabiriminde bir Git reset
gerçekleştirebilirsiniz. Databricks Git klasörlerinde Git sıfırlama, ile git push --force
birleştirilmiş ile git reset --hard
eşdeğerdir.
Git sıfırlama, dal içeriğini ve geçmişini başka bir dalın en son durumuyla değiştirir. Düzenlemeler yukarı akış dalı ile çakıştığında ve yukarı akış dalını sıfırladığınızda bu düzenlemeleri kaybetmeyi sorun etmediğinizde bunu kullanabilirsiniz. Git reset –hard
hakkında daha fazla bilgi edinin.
Yukarı akış (uzak) dala sıfırlama
Bu senaryoda ile git reset
:
- Seçtiğiniz dalı (örneğin,
feature_a
) farklı bir dala sıfırlarsınız (örneğin,main
). - Ayrıca yukarı akış (uzak) dalını
feature_a
da main olarak sıfırlarsınız.
Önemli
Sıfırladığınızda, dalın hem yerel hem de uzak sürümünde kaydedilmemiş ve kaydedilmiş tüm değişiklikleri kaybedersiniz.
Bir dalı uzak dala sıfırlamak için:
Dal menüsündeki Git klasörleri kullanıcı arabiriminde, sıfırlamak istediğiniz dalı seçin.
Kebap menüsünden Sıfırla'yı seçin.
Sıfırlanması gereken dalı seçin.
Seyrek kullanıma alma modunu yapılandırma
Seyrek kullanıma alma, Databricks'teki uzak depo dizinlerinin yalnızca bir alt kümesini kopyalayıp bunlarla çalışmanızı sağlayan bir istemci tarafı ayarıdır. Bu, özellikle deponuzun boyutu Databricks tarafından desteklenen sınırların ötesindeyse kullanışlıdır.
Yeni depo eklerken (kopyalama) Seyrek Kullanıma Alma modunu kullanabilirsiniz.
Git klasörü ekle iletişim kutusunda Gelişmiş'i açın.
Seyrek kullanıma alma modu'nu seçin.
Koni desenleri kutusunda, istediğiniz koni kullanıma alma desenlerini belirtin. Birden çok deseni satır sonlarına göre ayırın.
Şu anda Azure Databricks'te bir depo için seyrek kullanıma alma özelliğini devre dışı bırakamazsınız.
Koni desenleri nasıl çalışır?
Seyrek kullanıma alma modunda koni deseninin nasıl çalıştığını anlamak için, uzak depo yapısını temsil eden aşağıdaki diyagrama bakın.
Seyrek kullanıma alma modunu seçerseniz ancak bir koni deseni belirtmezseniz, varsayılan koni deseni uygulanır. Bu yalnızca kökteki dosyaları içerir ve alt dizin içermez ve bu da aşağıdaki gibi bir depo yapısına neden olur:
Seyrek kullanıma alma konisi deseninin ayarlanması parent/child/grandchild
, dizinin tüm içeriğinin grandchild
özyinelemeli olarak eklenmesine neden olur. Dosyalar hemen /parent
ve /parent/child
kök dizinine de eklenir. Aşağıdaki diyagramda dizin yapısına bakın:
Satır sonları ile ayrılmış birden çok desen ekleyebilirsiniz.
Not
Dışlama davranışları (!
), Git koni düzeni söz diziminde desteklenmez.
Seyrek kullanıma alma ayarlarını değiştirme
Bir depo oluşturulduktan sonra, seyrek kullanıma alma konisi düzeni Ayarlar > Gelişmiş > Koni desenlerinden düzenlenebilir.
Şu davranışı unutmayın:
Bir klasörü koni deseninden kaldırmak, kaydedilmemiş bir değişiklik yoksa bu klasörü Databricks'ten kaldırır.
Seyrek kullanıma alma konisi desenini düzenleyerek klasör eklemek, ek çekme gerektirmeden bunu Databricks'e ekler.
Seyrek kullanıma alma desenleri, bu klasörde kaydedilmemiş değişiklikler olduğunda klasörü kaldırmak için değiştirilemez.
Örneğin, kullanıcı bir klasördeki bir dosyayı düzenler ve değişiklikleri işlemez. Ardından seyrek kullanıma alma düzenini bu klasörü içermemek üzere değiştirmeye çalışır. Bu durumda, desen kabul edilir, ancak gerçek klasör silinmez. Bu klasörü eklemek, değişiklikleri işlemek ve ardından yeni deseni yeniden uygulamak için deseni geri döndürmesi gerekir.
Not
Seyrek Kullanıma Alma modu etkin olarak oluşturulmuş bir depo için seyrek kullanıma alma özelliğini devre dışı bırakamazsınız.
Seyrek kullanıma alma ile değişiklik yapma ve gönderme
Mevcut dosyaları düzenleyebilir, işleyebilir ve Git klasöründen gönderebilirsiniz. Yeni dosya klasörleri oluştururken, bunları bu depo için belirttiğiniz koni düzenine ekleyin.
Koni deseninin dışında yeni bir klasör dahil etmek, işleme ve gönderme işlemi sırasında hataya neden olur. Bunu düzeltmek için, işlemeye ve göndermeye çalıştığınız yeni klasörü içerecek şekilde koni desenini düzenleyin.
Depo yapılandırma dosyası desenleri
İşleme çıkışları yapılandırma dosyası gitignore desenlerine benzer desenler kullanır ve aşağıdakileri yapar:
- Pozitif desenler, eşleşen not defterleri için çıkışların eklenmesini sağlar.
- Negatif desenler, eşleşen not defterleri için çıkışların eklenmesini devre dışı bırakır.
- Desenler tüm not defterleri için sırayla değerlendirilir.
- Not defterleri için çözümlenemeyen
.ipynb
geçersiz yollar veya yollar yoksayılır.
Pozitif desen: Not defteri yolundan folder/innerfolder/notebook.ipynb
çıkışlar eklemek için aşağıdaki desenleri kullanın:
**/*
folder/**
folder/innerfolder/note*
Negatif desen: Not defterinin çıkışlarını dışlamak için, pozitif desenlerden hiçbirinin eşleşmediğini denetleyin veya yapılandırma dosyasının doğru noktasına negatif bir desen ekleyin. Negatif (dışlama) desenleri ile !
başlar:
!folder/innerfolder/*.ipynb
!folder/**/*.ipynb
!**/notebook.ipynb
Seyrek kullanıma alma sınırlaması
Seyrek kullanıma alma şu anda boyutu 4 GB'tan büyük Azure DevOps depolarında çalışmıyor.
Depo ekleme ve daha sonra uzaktan bağlanma
Git klasörlerini program aracılığıyla yönetmek ve bunlarla çalışmak için Git klasörleri REST API'sini kullanın.