Bagikan melalui


Menjalankan operasi Git pada folder Databricks Git (Repos)

Artikel ini menjelaskan cara melakukan operasi Git umum di ruang kerja Databricks Anda menggunakan folder Git, termasuk kloning, pencabangan, penerapan, dan pendorongan.

Mengkloning repositori yang terhubung ke repositori Git jarak jauh

  1. Di bar samping, pilih Ruang Kerja lalu browser ke folder tempat Anda ingin membuat kloning repo Git.

  2. Klik panah bawah di sebelah kanan Tambahkan di kanan atas ruang kerja, dan pilih folder Git dari menu dropdown.

    Tambahkan UI repositori.

  3. Dalam dialog Buat folder Git, berikan informasi berikut ini:

    • URL repositori Git yang ingin Anda kloning, dalam format https://example.com/organization/project.git
    • Penyedia Git untuk repositori yang ingin Anda kloning. Opsi termasuk GitHub, GitHub Enterprise, GitLab, dan Azure DevOps (Azure Repos)
    • Nama folder di ruang kerja Anda yang akan berisi konten repositori kloning
    • Apakah Anda akan menggunakan checkout jarang, di mana hanya subset direktori repositori Anda yang dikloning, yang ditentukan menggunakan pola kerucut. Ini berguna jika repositori Anda lebih besar dari batas yang didukung Databricks.

    Kloning dari antarmuka pengguna folder Git.

  4. Klik Buat folder Git. Konten repositori jarak jauh dikloning ke repositori Databricks, dan Anda dapat mulai bekerja dengannya menggunakan operasi Git yang didukung melalui ruang kerja Anda.

Praktik terbaik: Berkolaborasi di folder Git

Folder Databricks Git secara efektif berperilaku sebagai klien Git yang disematkan di ruang kerja Anda sehingga pengguna dapat berkolaborasi menggunakan kontrol dan penerapan versi sumber berbasis Git. Untuk membuat kolaborasi tim lebih efektif, gunakan folder Databricks Git terpisah yang dipetakan ke repositori Git jarak jauh untuk setiap pengguna yang bekerja di cabang pengembangan mereka sendiri . Meskipun beberapa pengguna dapat berkontribusi konten ke folder Git, hanya satu pengguna yang ditunjuk yang harus melakukan operasi Git seperti penarikan, pendorongan, penerapan, dan peralihan cabang. Jika beberapa pengguna melakukan operasi Git pada folder Git, manajemen cabang dapat menjadi sulit dan rawan kesalahan, seperti ketika pengguna mengalihkan cabang dan secara tidak sengaja mengalihkannya untuk semua pengguna lain dari folder tersebut.

Untuk berbagi folder Git dengan kolaborator, klik Salin tautan untuk membuat folder Git di banner di bagian atas ruang kerja Databricks Anda. Tindakan ini menyalin URL ke clipboard lokal yang dapat Anda kirim ke pengguna lain. Ketika pengguna penerima memuat URL tersebut di browser, mereka akan dibawa ke ruang kerja tempat mereka dapat membuat folder Git mereka sendiri yang dikloning dari repositori Git jarak jauh yang sama. Mereka akan melihat dialog modal Buat folder Git di UI, yang telah diisi sebelumnya dengan nilai yang diambil dari folder Git Anda sendiri. Ketika mereka mengklik tombol biru Buat folder Git di modal, repositori Git dikloning ke ruang kerja di bawah folder kerja mereka saat ini, di mana mereka sekarang dapat bekerja dengannya secara langsung.

Klik tombol Salin tautan ke folder Git spanduk untuk berbagi konfigurasi repositori Git untuk folder dengan pengguna lain di organisasi Databricks Anda

Saat mengakses folder Git orang lain di ruang kerja bersama, klik Buat folder Git di banner di bagian atas. Tindakan ini membuka dialog Buat folder Git untuk Anda, yang telah diisi sebelumnya dengan konfigurasi untuk repositori Git yang mendukungnya.

Saat melihat folder Git pengguna lain, klik tombol Buat folder Git di banner untuk membuat salinan folder tersebut di ruang kerja Anda sendiri

Penting

Saat ini Anda tidak dapat menggunakan Git CLI untuk melakukan operasi Git di folder Git. Jika Anda mengkloning repositori Git menggunakan CLI melalui terminal web kluster, file tidak akan ditampilkan di antarmuka pengguna Azure Databricks.

Mengakses dialog Git

Anda dapat mengakses dialog Git dari notebook atau dari browser folder Databricks Git.

  • Dari buku catatan, klik tombol di samping nama buku catatan yang mengidentifikasi cabang Git saat ini.

    Tombol dialog Git di buku catatan.

  • Dari browser folder Databricks Git, klik tombol di sebelah kanan nama repositori. Anda juga dapat mengklik kanan nama repositori dan memilih Git... dari menu.

    Tombol dialog Git dan menu Git di browser repositori.

Anda akan melihat dialog layar penuh di mana Anda dapat melakukan operasi Git.

Dialog yang digunakan untuk melakukan operasi Git di ruang kerja Databricks.

  1. Cabang kerja Anda saat ini. Anda dapat memilih cabang lain di sini. Jika pengguna lain memiliki akses ke folder Git ini, mengubah cabang juga akan mengubah cabang untuk mereka jika mereka berbagi ruang kerja yang sama. Lihat praktik terbaik yang direkomendasikan untuk menghindari masalah ini.
  2. Tombol untuk membuat cabang baru.
  3. Daftar aset file dan subfolder diperiksa ke cabang Anda saat ini.
  4. Tombol yang membawa Anda ke penyedia Git dan menunjukkan riwayat cabang saat ini.
  5. Tombol untuk menarik konten dari repositori Git jarak jauh.
  6. Kotak teks tempat Anda menambahkan pesan penerapan dan deskripsi opsional yang diperluas untuk perubahan Anda.
  7. Tombol untuk menerapkan pekerjaan Anda ke cabang kerja dan mendorong cabang yang diperbarui ke repositori Git jarak jauh.

Klik menu Kebab kebab di kanan atas untuk memilih dari operasi cabang Git tambahan, seperti hard reset, penggabungan, atau rebase.

Menu drop-down dalam dialog folder Git untuk operasi cabang.

Ini adalah rumah Anda untuk melakukan operasi Git di folder Git ruang kerja Anda. Anda terbatas pada operasi Git yang disajikan di antarmuka pengguna.

Membuat cabang baru

Anda dapat membuat cabang baru berdasarkan cabang yang sudah ada dari dialog Git:

Dialog Git cabang baru.

Beralih ke cabang lain

Anda dapat beralih ke (checkout) cabang lain menggunakan dropdown cabang dalam dialog Git:

Dialog Git beralih ke cabang yang berbeda

Penting

Setelah Anda memeriksa cabang di folder Git, selalu ada kemungkinan cabang dapat dihapus pada repositori Git jarak jauh oleh orang lain. Jika cabang dihapus pada repositori jarak jauh, versi lokal dapat tetap ada di folder Git terkait hingga 7 hari. Cabang lokal di Databricks tidak dapat dihapus, jadi jika Anda harus menghapusnya, Anda juga harus menghapus dan mengalihkan repositori.

Menerapkan dan mendorong perubahan ke repositori Git jarak jauh

Saat Anda telah menambahkan buku catatan atau file baru, atau membuat perubahan pada buku catatan atau file yang sudah ada, antarmuka pengguna folder Git menyoroti perubahan.

Dialog Git dengan perubahan disorot.

Tambahkan pesan penerapan yang diperlukan untuk perubahan, dan klik Terapkan & Dorong untuk mendorong perubahan ini ke repositori Git jarak jauh.

Jika Anda tidak memiliki izin untuk berkomitmen ke cabang default (seperti main cabang), buat cabang baru dan gunakan antarmuka penyedia Git Anda untuk membuat permintaan pull (PR) untuk menggabungkannya ke cabang default.

Catatan

  • Output buku catatan tidak disertakan dalam penerapan secara default saat buku catatan disimpan dalam format file sumber (.py, , .scala.sql, .r). Untuk informasi tentang menerapkan output notebook menggunakan format IPYNB, lihat Mengontrol penerapan artefak output notebook IPYNB

Menarik perubahan dari repositori Git jarak jauh

Untuk menarik perubahan dari repositori Git jarak jauh, klik Tarik dalam dialog operasi Git. Notebook dan file lainnya diperbarui secara otomatis ke versi terbaru di repositori Git jarak jauh Anda. Jika perubahan yang ditarik dari konflik repositori jarak jauh dengan perubahan lokal Anda di Databricks, Anda perlu mengatasi konflik penggabungan.

Penting

Operasi Git yang menarik pada perubahan upstram menghapus status buku catatan. Untuk informasi selengkapnya, lihat Perubahan masuk menghapus status buku catatan.

Menggabungkan cabang

Akses operasi Git Merge dengan memilihnya dari kebab Menu kebab di kanan atas dialog operasi Git.

Fungsi penggabungan dalam folder Databricks Git menggabungkan satu cabang ke cabang lainnya menggunakan git merge. Operasi penggabungan adalah cara untuk menggabungkan riwayat penerapan dari satu cabang ke cabang lain; satu-satunya perbedaan adalah strategi yang digunakannya untuk mencapai hal ini. Untuk pemula Git, sebaiknya gunakan penggabungan (over rebase) karena tidak memerlukan pendorongan paksa ke cabang dan oleh karena itu tidak menulis ulang riwayat penerapan.

  • Jika ada konflik penggabungan, atasi di antarmuka pengguna folder Git.
  • Jika tidak ada konflik, penggabungan didorong ke repositori Git jarak jauh menggunakan git push.

Rebase cabang di cabang lain

Akses operasi Git Rebase dengan memilihnya dari Menu kebab menu kebab di kanan atas dialog operasi Git.

Rebasing mengubah riwayat penerapan cabang. Seperti git merge, git rebase mengintegrasikan perubahan dari satu cabang ke cabang lainnya. Rebase melakukan hal berikut:

  1. Menyimpan penerapan pada cabang Anda saat ini ke area sementara.
  2. Mereset cabang saat ini ke cabang yang dipilih.
  3. Menerapkan kembali setiap penerapan individu yang sebelumnya disimpan di cabang saat ini, menghasilkan riwayat linier yang menggabungkan perubahan dari kedua cabang.

Peringatan

Menggunakan rebase dapat menyebabkan masalah penerapan versi untuk kolaborator yang bekerja dalam repositori yang sama.

Alur kerja umum adalah melakukan rebase cabang fitur di cabang utama.

Untuk merebase cabang di cabang lain:

  1. Dari menu Cabang di antarmuka pengguna folder Git, pilih cabang yang ingin Anda rebase.

  2. Pilih Rebase dari menu kebab.

    Fungsi rebase Git pada menu kebab.

  3. Pilih cabang yang ingin Anda rebase.

    Operasi rebase mengintegrasikan perubahan dari cabang yang Anda pilih di sini ke cabang saat ini.

Folder Databricks Git berjalan git commit dan git push --force untuk memperbarui repositori Git jarak jauh.

Mengatasi konflik penggabungan

Konflik penggabungan terjadi ketika 2 pengguna Git atau lebih mencoba menggabungkan perubahan ke baris file yang sama ke cabang umum dan Git tidak dapat memilih perubahan "kanan" untuk diterapkan. Konflik penggabungan juga dapat terjadi ketika pengguna mencoba menarik atau menggabungkan perubahan dari cabang lain ke cabang dengan perubahan yang tidak dilakukan.

GIF animasi yang menunjukkan konflik penggabungan umum yang timbul dari perubahan yang tidak dilakukan selama penarikan git

Jika operasi seperti penarikan, rebase, atau penggabungan menyebabkan konflik penggabungan, antarmuka pengguna folder Git memperlihatkan daftar file dengan konflik dan opsi untuk menyelesaikan konflik.

Anda memiliki dua opsi utama:

  • Gunakan antarmuka pengguna folder Git untuk mengatasi konflik.
  • Batalkan operasi Git, buang perubahan secara manual dalam file yang bertentangan, dan coba operasi Git lagi.

GIF animasi memperlihatkan konflik penggabungan di antarmuka pengguna folder Git Databricks

Saat mengatasi konflik penggabungan dengan antarmuka pengguna folder Git, Anda harus memilih antara menyelesaikan konflik secara manual di editor atau menyimpan semua perubahan masuk atau saat ini.

Pertahankan Semua Saat Ini atau Ambil Perubahan Masuk

Jika Anda tahu bahwa Anda hanya ingin menyimpan semua perubahan saat ini atau yang akan datang, klik menu kebab di sebelah kanan nama file di panel buku catatan Anda dan pilih Pertahankan semua perubahan saat ini atau Terima semua perubahan baru. Klik tombol dengan label yang sama untuk menerapkan perubahan dan mengatasi konflik.

Panel untuk UI buku catatan Databricks, memperlihatkan opsi dropdown untuk resolusi konflik penggabungan

Tip

Bingung opsi mana yang harus dipilih? Warna setiap opsi cocok dengan perubahan kode masing-masing yang akan disimpan dalam file.

Mengatasi Konflik Secara Manual

Resolusi konflik manual memungkinkan Anda menentukan baris mana yang bertentangan yang harus diterima dalam penggabungan. Untuk konflik penggabungan, Anda mengatasi konflik dengan langsung mengedit konten file dengan konflik.

GIF animasi memperlihatkan resolusi manual konflik penggabungan

Untuk mengatasi konflik, pilih baris kode yang ingin Anda pertahankan dan hapus yang lainnya, termasuk penanda konflik penggabungan Git. Setelah selesai, pilih Tandai Selesai.

Jika Anda memutuskan bahwa Anda membuat pilihan yang salah saat menyelesaikan konflik penggabungan, klik tombol Batalkan untuk membatalkan proses dan membatalkan semuanya. Setelah semua konflik diselesaikan, klik opsi Lanjutkan Gabungkan atau Lanjutkan Rebase untuk mengatasi konflik dan menyelesaikan operasi.

Git reset

Di folder Databricks Git, Anda dapat melakukan Git reset dalam antarmuka pengguna Azure Databricks. Reset Git di folder Databricks Git setara dengan git reset --hard dikombinasikan dengan git push --force.

Reset Git menggantikan konten dan riwayat cabang dengan status terbaru dari cabang lain. Anda dapat menggunakan ini ketika pengeditan bertentangan dengan cabang upstream, dan Anda tidak keberatan kehilangan pengeditan tersebut saat Anda mengatur ulang ke cabang upstream. Baca selengkapnya tentang git reset –hard.

Mengembalikan ke cabang induk (jarak jauh)

Dengan git reset dalam skenario ini:

  • Anda mengatur ulang cabang yang Anda pilih (misalnya, feature_a) ke cabang yang berbeda (misalnya, main).
  • Anda juga mengatur ulang cabang hulu (jarak jauh) feature_a ke utama.

Penting

Saat mengatur ulang, Anda kehilangan semua perubahan yang tidak dilakukan dan diterapkan di versi cabang lokal dan jarak jauh.

Untuk mengatur ulang cabang ke cabang jarak jauh:

  1. Di antarmuka pengguna folder Git dari menu Cabang , pilih cabang yang ingin Anda reset.

    Pemilih cabang di antarmuka pengguna folder Git.

  2. Pilih Reset dari menu kebab.

    operasi reset Git pada menu kebab.

  3. Pilih cabang untuk disetel ulang.

    Git reset --hard dialog.

Mengonfigurasi mode checkout jarang

Sparse checkout adalah pengaturan sisi klien yang memungkinkan Anda untuk mengkloning dan bekerja hanya dengan subset direktori repositori jarak jauh di Databricks. Ini sangat berguna jika ukuran repositori Anda berada di luar batas databricks yang didukung.

Anda dapat menggunakan mode Sparse Checkout saat menambahkan (mengkloning) repositori baru.

  1. Dalam dialog Tambahkan folder Git, buka Tingkat Lanjut.

  2. Pilih mode Sparse checkout.

    Opsi cek keluar jarang dalam dialog Tambahkan folder Git.

  3. Dalam kotak pola Cone, tentukan pola cek keluar kerujut yang Anda inginkan. Pisahkan beberapa pola menurut hentian baris.

Saat ini, Anda tidak dapat menonaktifkan checkout jarang untuk repositori di Azure Databricks.

Cara kerja pola kerujut

Untuk memahami cara kerja pola kerucut dalam mode checkout jarang, lihat diagram berikut yang mewakili struktur repositori jarak jauh.

Struktur repositori jarak jauh tanpa cek keluar yang jarang.

Jika Anda memilih mode Sparse checkout, tetapi tidak menentukan pola kerucut, pola kerucut default akan diterapkan. Ini hanya mencakup file di root dan tanpa subdirektori, menghasilkan struktur repositori sebagai berikut:

Cek keluar jarang: pola kerucut default.

Mengatur pola kerucut cek keluar yang jarang sebagai parent/child/grandchild hasil dalam semua konten direktori yang grandchild disertakan secara rekursif. File segera di /parentdirektori , /parent/child dan root juga disertakan. Lihat struktur direktori dalam diagram berikut:

Cek keluar jarang: Tentukan pola kerucut folder induk-cucu-anak.

Anda dapat menambahkan beberapa pola yang dipisahkan oleh hentian baris.

Catatan

Perilaku pengecualian (!) tidak didukung dalam sintaks pola kerucut Git.

Mengubah pengaturan checkout jarang

Setelah repositori dibuat, pola kerucut cek keluar jarang dapat diedit dari > Pengaturan > Kerucut Tingkat Lanjut.

Perhatikan perilaku berikut:

  • Menghapus folder dari pola cone akan menghapusnya dari Databricks jika tidak ada perubahan yang tidak dilakukan.

  • Menambahkan folder melalui mengedit pola kerucut cek keluar jarang menambahkannya ke Databricks tanpa memerlukan penarikan tambahan.

  • Pola cek keluar jarang tidak dapat diubah untuk menghapus folder ketika ada perubahan yang tidak dilakukan dalam folder tersebut.

    Misalnya, pengguna mengedit file dalam folder dan tidak menerapkan perubahan. Dia kemudian mencoba mengubah pola cek keluar jarang agar tidak menyertakan folder ini. Dalam hal ini, pola diterima, tetapi folder aktual tidak dihapus. Dia perlu mengembalikan pola untuk menyertakan folder tersebut, menerapkan perubahan, lalu menerapkan kembali pola baru.

Catatan

Anda tidak dapat menonaktifkan checkout jarang untuk repositori yang dibuat dengan mode Sparse Checkout diaktifkan.

Membuat dan mendorong perubahan dengan checkout jarang

Anda dapat mengedit file yang ada dan menerapkan dan mendorongnya dari folder Git. Saat membuat folder file baru, sertakan dalam pola kerumpul yang Anda tentukan untuk repositori tersebut.

Menyertakan folder baru di luar pola kerudung menghasilkan kesalahan selama operasi penerapan dan pendorongan. Untuk memperbaikinya, edit pola cone untuk menyertakan folder baru yang anda coba terapkan dan dorong.

Pola untuk file konfigurasi repo

File konfigurasi output penerapan menggunakan pola yang mirip dengan pola gitignore dan melakukan hal berikut:

  • Pola positif memungkinkan penyertaan output untuk notebook yang cocok.
  • Pola negatif menonaktifkan penyertaan output untuk notebook yang cocok.
  • Pola dievaluasi untuk semua buku catatan.
  • Jalur atau jalur yang tidak valid yang tidak diselesaikan ke .ipynb buku catatan diabaikan.

Pola positif: Untuk menyertakan output dari jalur folder/innerfolder/notebook.ipynbbuku catatan, gunakan pola berikut:

**/*
folder/**
folder/innerfolder/note*

Pola negatif: Untuk mengecualikan output untuk notebook, periksa apakah tidak ada pola positif yang cocok atau tambahkan pola negatif di tempat yang benar dari file konfigurasi. Pola negatif (kecualikan) dimulai dengan !:

!folder/innerfolder/*.ipynb
!folder/**/*.ipynb
!**/notebook.ipynb

Batasan checkout jarang

Checkout jarang saat ini tidak berfungsi untuk repositori Azure DevOps yang berukuran lebih besar dari 4GB.

Tambahkan repositori dan sambungkan dari jarak jauh nanti

Untuk mengelola dan bekerja dengan folder Git secara terprogram, gunakan REST API folder Git.