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
Di bar samping, pilih Ruang Kerja lalu browser ke folder tempat Anda ingin membuat kloning repo Git.
Klik panah bawah di sebelah kanan Tambahkan di kanan atas ruang kerja, dan pilih folder Git dari menu dropdown.
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.
- URL repositori Git yang ingin Anda kloning, dalam format
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.
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.
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.
Dari browser folder Databricks Git, klik tombol di sebelah kanan nama repositori. Anda juga dapat mengklik kanan nama repositori dan memilih Git... dari menu.
Anda akan melihat dialog layar penuh di mana Anda dapat melakukan operasi Git.
- 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.
- Tombol untuk membuat cabang baru.
- Daftar aset file dan subfolder diperiksa ke cabang Anda saat ini.
- Tombol yang membawa Anda ke penyedia Git dan menunjukkan riwayat cabang saat ini.
- Tombol untuk menarik konten dari repositori Git jarak jauh.
- Kotak teks tempat Anda menambahkan pesan penerapan dan deskripsi opsional yang diperluas untuk perubahan Anda.
- Tombol untuk menerapkan pekerjaan Anda ke cabang kerja dan mendorong cabang yang diperbarui ke repositori Git jarak jauh.
Klik menu kebab di kanan atas untuk memilih dari operasi cabang Git tambahan, seperti hard reset, penggabungan, atau rebase.
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:
Beralih ke cabang lain
Anda dapat beralih ke (checkout) cabang lain menggunakan dropdown cabang dalam dialog Git:
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.
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 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 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:
- Menyimpan penerapan pada cabang Anda saat ini ke area sementara.
- Mereset cabang saat ini ke cabang yang dipilih.
- 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:
Dari menu Cabang di antarmuka pengguna folder Git, pilih cabang yang ingin Anda rebase.
Pilih Rebase dari menu kebab.
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.
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.
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.
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.
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:
Di antarmuka pengguna folder Git dari menu Cabang , pilih cabang yang ingin Anda reset.
Pilih Reset dari menu kebab.
Pilih cabang untuk disetel ulang.
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.
Dalam dialog Tambahkan folder Git, buka Tingkat Lanjut.
Pilih mode Sparse checkout.
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.
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:
Mengatur pola kerucut cek keluar yang jarang sebagai parent/child/grandchild
hasil dalam semua konten direktori yang grandchild
disertakan secara rekursif. File segera di /parent
direktori , /parent/child
dan root juga disertakan. Lihat struktur direktori dalam diagram berikut:
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.ipynb
buku 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.