Bagikan melalui


Konsep dasar dalam integrasi Git

Artikel ini menjelaskan konsep Git dasar dan proses mengintegrasikan Git dengan ruang kerja Microsoft Fabric Anda.

Izin

  • Untuk menggunakan integrasi Git, administrator organisasi Anda harus mengaktifkannya oleh administrator organisasi Anda.
  • Jika ruang kerja dan repositori Azure berada di dua wilayah yang berbeda, admin penyewa harus mengaktifkan ekspor lintas geografis. Pembatasan ini tidak berlaku untuk GitHub.
  • Tindakan yang dapat Anda lakukan pada ruang kerja bergantung pada izin yang Anda miliki di ruang kerja dan Git, seperti yang tercantum di bagian berikutnya.

Daftar berikut menunjukkan apa yang dapat dilakukan peran ruang kerja yang berbeda tergantung pada izin mereka di repositori Git mereka:

  • Admin: Dapat melakukan operasi apa pun di ruang kerja, hanya dibatasi oleh peran Git mereka.
  • Anggota/Kontributor: Setelah tersambung ke ruang kerja, anggota/kontributor dapat menerapkan dan memperbarui perubahan, tergantung pada peran Git mereka. Untuk tindakan yang terkait dengan koneksi ruang kerja (misalnya, menyambungkan, memutuskan sambungan, atau beralih cabang) cari bantuan dari Admin.
  • Penampil: Tidak dapat melakukan tindakan apa pun. Penampil tidak dapat melihat informasi terkait Git apa pun di ruang kerja.

Peran ruang kerja

Tabel berikut menjelaskan izin yang diperlukan di ruang kerja Fabric untuk melakukan berbagai operasi umum:

Operasi Peran ruang kerja
Menyambungkan ruang kerja ke repositori Git Admin
Menyinkronkan ruang kerja dengan repositori Git Admin
Memutuskan sambungan ruang kerja dari repositori Git Admin
Beralih cabang di ruang kerja (atau perubahan pengaturan koneksi) Admin
Lihat detail koneksi Git Admin, Anggota, Kontributor
Lihat ruang kerja 'Status Git' Admin, Anggota, Kontributor
Pembaruan dari Git Semua hal berikut:

Kontributor di ruang kerja (izin TULIS pada semua item)

Pemilik item (jika sakelar penyewa memblokir pembaruan untuk non-pemilik)

BUILD pada dependensi eksternal (jika berlaku)
Menerapkan perubahan ruang kerja ke Git Semua hal berikut:

Kontributor di ruang kerja (izin TULIS pada semua item)

Pemilik item (jika sakelar penyewa memblokir pembaruan untuk non-pemilik)

BUILD pada dependensi eksternal (jika berlaku)
Membuat cabang Git baru dari dalam Fabric Admin
Cabang keluar ke ruang kerja baru Admin, Anggota, Kontributor

Peran Git

Tabel berikut ini menjelaskan izin Git yang diperlukan untuk melakukan berbagai operasi umum:

Operasi Izin Git
Menyambungkan ruang kerja ke repositori Git Baca=Izinkan
Menyinkronkan ruang kerja dengan repositori Git Baca=Izinkan
Memutuskan sambungan ruang kerja dari repositori Git Tidak ada izin yang diperlukan
Beralih cabang di ruang kerja (atau perubahan pengaturan koneksi) Baca=Izinkan (dalam repo/direktori/cabang target)
Lihat detail koneksi Git Baca atau Tidak Ada
Lihat ruang kerja 'Status Git' Baca=Izinkan
Pembaruan dari Git Baca=Izinkan
Menerapkan perubahan ruang kerja ke Git Baca=Izinkan
Kontribusi=Izinkan
kebijakan cabang harus mengizinkan penerapan langsung
Membuat cabang Git baru dari dalam Fabric Peran=Tulis
Buat cabang=Izinkan
Cabang keluar ke ruang kerja baru Baca=Izinkan
Buat cabang=Izinkan

Menyambungkan dan menyinkronkan

Hanya admin ruang kerja yang dapat menyambungkan ruang kerja ke Git Repos, tetapi setelah tersambung, siapa pun yang memiliki izin dapat bekerja di ruang kerja. Jika Anda bukan admin, mintalah bantuan admin untuk menyambungkan.

Saat Anda menyambungkan ruang kerja ke Git, Fabric menyinkronkan antara dua lokasi sehingga mereka memiliki konten yang sama. Selama sinkronisasi awal ini, jika ruang kerja atau cabang Git kosong sementara yang lain memiliki konten, konten disalin dari lokasi yang tidak ada ke lokasi kosong. Jika ruang kerja dan cabang Git memiliki konten, Anda harus memutuskan arah mana yang harus dilalui sinkronisasi.

  • Jika Anda menerapkan ruang kerja Anda ke cabang Git, semua konten ruang kerja yang didukung diekspor ke Git dan menimpa konten Git saat ini.
  • Jika Anda memperbarui ruang kerja dengan konten Git, konten ruang kerja ditimpa, dan Anda kehilangan konten ruang kerja Anda. Karena cabang Git selalu dapat dipulihkan ke tahap sebelumnya sementara ruang kerja tidak dapat, jika Anda memilih opsi ini, Anda diminta untuk mengonfirmasi.

Cuplikan layar dialog yang menanyakan arah mana yang akan disinkronkan jika Git dan ruang kerja memiliki konten.

Jika Anda tidak memilih konten mana yang akan disinkronkan, Anda tidak dapat terus bekerja.

Cuplikan layar pemberitahuan bahwa Anda tidak dapat terus bekerja hingga ruang kerja disinkronkan.

Menyambungkan ke ruang kerja bersama

Jika Anda mencoba menyambungkan ke ruang kerja yang sudah tersambung ke Git, Anda mungkin mendapatkan pesan berikut:

Cuplikan layar pesan kesalahan yang memberi tahu yo untuk masuk ke akun Git.

Buka tab Akun di sisi kanan panel Kontrol sumber, pilih akun, dan sambungkan ke akun tersebut.

Cuplikan layar tab Akun dengan pengguna yang menyambungkan ke akun GitHub.

Status git

Setelah Anda tersambung, ruang kerja menampilkan kolom status Git yang menunjukkan status sinkronisasi setiap item di ruang kerja sehubungan dengan item di cabang jarak jauh.

Cuplikan layar jika item di ruang kerja dengan status Git mereka diuraikan.

Setiap item memiliki salah satu status berikut:

  • Disinkronkan (item sama di ruang kerja dan cabang Git)
  • Konflik (item diubah di ruang kerja dan cabang Git)
  • Item yang tidak didukung
  • Perubahan yang tidak dikomit di ruang kerja
  • Pembaruan diperlukan dari Git
  • Item identik di kedua tempat tetapi perlu diperbarui ke penerapan terakhir

Informasi sinkronisasi

Selama Anda tersambung, informasi berikut muncul di bagian bawah layar Anda:

  • Cabang tersambung
  • Waktu sinkronisasi terakhir
  • Tautan ke penerapan terakhir tempat ruang kerja disinkronkan

Cuplikan layar informasi sinkronisasi yang muncul di bagian bawah layar saat tersambung ke Git.

Panel kontrol sumber

Di atas layar ada ikon Kontrol sumber. Ini menunjukkan jumlah item yang berbeda di ruang kerja dan cabang Git. Ketika perubahan dilakukan baik ke ruang kerja atau cabang Git, nomor diperbarui. Saat ruang kerja disinkronkan dengan cabang Git, ikon Kontrol sumber menampilkan 0.

Cuplikan layar ikon kontrol sumber memperlihatkan nol item yang diubah.

Pilih ikon Kontrol sumber untuk membuka panel kontrol Sumber.

Panel kontrol sumber memiliki tiga tab di samping:

Penerapan dan pembaruan

Ketika perubahan dilakukan baik ke ruang kerja atau cabang Git, ikon kontrol sumber menunjukkan jumlah item yang berbeda. Pilih ikon kontrol sumber untuk membuka panel kontrol Sumber.

Panel Penerapan dan pembaruan memiliki dua bagian.

Perubahan menunjukkan jumlah item yang diubah di ruang kerja dan perlu diterapkan ke Git.
Pembaruan menunjukkan jumlah item yang dimodifikasi di cabang Git dan perlu diperbarui ke ruang kerja.

Di setiap bagian, item yang diubah dicantumkan dengan ikon yang menunjukkan status:

  • baru
  • dimodifikasi
  • Dihapus
  • perselisihan

Tombol Refresh di atas panel memperbarui daftar perubahan dan pembaruan.

Cuplikan layar panel kontrol sumber memperlihatkan status item yang diubah.

Menjalankan

  • Item di ruang kerja yang diubah tercantum di bagian Perubahan . Saat ada lebih dari satu item yang diubah, Anda dapat memilih item mana yang akan diterapkan ke cabang Git.
  • Jika ada pembaruan yang dilakukan pada cabang Git, penerapan dinonaktifkan hingga Anda memperbarui ruang kerja Anda.

Pembaruan

  • Tidak seperti penerapan dan batalkan, perintah Perbarui selalu memperbarui seluruh cabang dan menyinkronkan ke penerapan terbaru. Anda tidak dapat memilih item tertentu untuk diperbarui.
  • Jika perubahan dilakukan di ruang kerja dan di cabang Git pada item yang sama, pembaruan dinonaktifkan hingga konflik diselesaikan.

Baca selengkapnya tentang cara menerapkan dan memperbarui. Baca selengkapnya tentang proses pembaruan dan cara mengatasi konflik.

Cabang

Tab Cabang dari panel Kontrol sumber memungkinkan Anda mengelola cabang dan melakukan tindakan terkait cabang. Ini memiliki dua bagian utama:

  • Tindakan yang dapat Anda ambil pada cabang saat ini:

    • Cabang ke ruang kerja baru (peran apa pun): Membuat ruang kerja baru dan cabang baru berdasarkan penerapan terakhir cabang yang terhubung ke ruang kerja saat ini. Ini terhubung ke ruang kerja baru dan cabang baru.
    • Memeriksa cabang baru (harus menjadi admin ruang kerja): Membuat cabang baru berdasarkan penerapan terakhir yang disinkronkan di ruang kerja dan mengubah koneksi Git di ruang kerja saat ini. Ini tidak mengubah konten ruang kerja.
    • Beralih cabang (harus menjadi admin ruang kerja): Menyinkronkan ruang kerja dengan cabang baru atau yang sudah ada lainnya dan mengambil alih semua item di ruang kerja dengan konten cabang yang dipilih.

    Cuplikan layar tab keluar cabang di panel kontrol sumber.

  • Cabang terkait.
    Tab Cabang juga memiliki daftar ruang kerja terkait yang dapat Anda pilih dan alihkan. Ruang kerja terkait adalah ruang kerja dengan properti koneksi yang sama dengan cabang saat ini, seperti organisasi, proyek, repositori, dan folder git yang sama.
    Ini memungkinkan Anda untuk menavigasi ke ruang kerja yang terhubung ke cabang lain yang terkait dengan konteks pekerjaan Anda saat ini, tanpa harus mencarinya di daftar ruang kerja Fabric Anda.
    Klik item dalam daftar untuk membuka ruang kerja yang relevan.

    Cuplikan layar memperlihatkan daftar cabang terkait yang dapat dialihkan pengguna.

Lihat Batasan pencabangan untuk informasi selengkapnya.

Detail akun

Tab Detail akun memperlihatkan detail akun GitHub yang tersambung dengan pengguna. Ini memiliki dua bagian. Bagian atas menunjukkan penyedia Git dan nama akun. Bagian bawah menunjukkan repositori dan cabang tempat ruang kerja tersambung. Saat ini, tab ini hanya tersedia untuk ruang kerja yang terhubung ke GitHub.

Detail akun GitHub meliputi:

  • Detail akun Git

    • Penyedia
    • Nama akun
  • Reposori Git

  • Cabang

Cuplikan layar tab akun di panel Kontrol sumber memperlihatkan detail Git dan repositori dan nama cabang.

Pertimbangan dan batasan

Batasan integrasi Git umum

  • Metode autentikasi dalam Fabric harus setidaknya sekuat metode autentikasi untuk Git. Misalnya, jika Git memerlukan autentikasi multifaktor, Fabric juga perlu memerlukan autentikasi multifaktor.
  • Himpunan Data Power BI yang tersambung ke Analysis Services saat ini tidak didukung.
  • Ruang kerja dengan aplikasi templat yang diinstal tidak dapat disambungkan ke Git.
  • Sovereign cloud tidak didukung.
  • Akun Azure DevOps harus didaftarkan ke pengguna yang sama yang menggunakan ruang kerja Fabric.
  • Admin penyewa harus mengaktifkan ekspor lintas geo jika ruang kerja dan repositori Git berada di dua wilayah geografis yang berbeda.
  • Ukuran penerapan dibatasi hingga 125 MB.

Batasan GitHub Enterprise

Beberapa pengaturan GitHub Enterprise tidak didukung. Contohnya:

Batasan ruang kerja

  • Hanya admin ruang kerja yang dapat mengelola koneksi ke Git Repo seperti menyambungkan, memutuskan sambungan, atau menambahkan cabang.
    Setelah tersambung, siapa pun dengan izin dapat bekerja di ruang kerja.
  • Struktur folder ruang kerja tidak tercermin dalam repositori Git. Item ruang kerja dalam folder diekspor ke direktori akar.

Batasan cabang dan folder

  • Panjang maksimum nama cabang adalah 244 karakter.
  • Panjang maksimum jalur lengkap untuk nama file adalah 250 karakter. Nama yang lebih panjang gagal.
  • Ukuran file maksimum adalah 25 MB.
  • Anda tidak dapat mengunduh laporan/himpunan data sebagai .pbix dari layanan setelah menyebarkannya dengan integrasi Git.
  • Saat menamai folder di Git, ID logis (Guid) ditambahkan sebagai awalan sebelum jenis jika nama tampilan item:
    • Memiliki lebih dari 256 karakter
    • Diakhir dengan . atau spasi
    • Berisi salah satu karakter berikut: " / : : ? < > \ * |

Batasan pencabangan

  • Percabangan memerlukan izin yang tercantum dalam tabel izin.
  • Harus ada kapasitas yang tersedia untuk tindakan ini.
  • Semua batasan penamaan ruang kerja dan cabang berlaku saat bercabang ke ruang kerja baru.
  • Saat bercabang, ruang kerja baru dibuat dan pengaturan dari ruang kerja asli tidak disalin. Sesuaikan pengaturan atau definisi apa pun untuk memastikan bahwa ruang kerja baru memenuhi kebijakan organisasi Anda.
  • Hanya item yang didukung Git yang tersedia di ruang kerja baru.
  • Daftar cabang terkait hanya menampilkan cabang dan ruang kerja yang memiliki izin untuk dilihat.
  • Integrasi Git harus diaktifkan.

Batasan sinkronisasi dan penerapan

  • Anda hanya dapat menyinkronkan satu arah pada satu waktu. Anda tidak dapat menerapkan dan memperbarui secara bersamaan.
  • Label sensitivitas tidak didukung dan mengekspor item dengan label sensitivitas mungkin dinonaktifkan. Untuk menerapkan item yang memiliki label sensitivitas tanpa label sensitivitas, mintalah bantuan administrator Anda.
  • Bekerja dengan item terbatas. Item yang tidak didukung dalam folder diabaikan.
  • Nama duplikat tidak diperbolehkan. Bahkan jika Power BI mengizinkan duplikasi nama, tindakan pembaruan, penerapan, atau urungkan gagal.
  • B2B tidak didukung.
  • Resolusi konflik sebagian dilakukan di Git.
  • Selama proses Penerapan ke Git, layanan Fabric menghapus file di dalam folder item yang bukan bagian dari definisi item. File yang tidak terkait yang tidak ada dalam folder item tidak dihapus.
  • Setelah menerapkan perubahan, Anda mungkin melihat beberapa perubahan tak terduga pada item yang tidak Anda buat. Perubahan ini secara semantik tidak signifikan dan dapat terjadi karena beberapa alasan. Misalnya:
    • Mengubah file definisi item secara manual. Perubahan ini valid, tetapi mungkin berbeda dari jika dilakukan melalui editor. Misalnya, jika Anda mengganti nama kolom model semantik di Git dan mengimpor perubahan ini ke ruang kerja, saat berikutnya Anda menerapkan perubahan pada model semantik, file bim akan mendaftar sebagai diubah dan kolom yang dimodifikasi didorong ke bagian columns belakang array. Ini karena mesin AS yang menghasilkan file bim mendorong kolom yang diganti namanya ke akhir array. Perubahan ini tidak memengaruhi cara item beroperasi.
    • Menerapkan file yang menggunakan hentian baris CRLF . Layanan ini menggunakan hentian baris LF (umpan baris). Jika Anda memiliki file item di repositori Git dengan jeda baris CRLF , ketika Anda menerapkan dari layanan, file-file ini diubah ke LF. Misalnya, jika Anda membuka laporan di desktop, simpan proyek .pbip dan unggah ke Git menggunakan CRLF.
  • Merefresh model semantik menggunakan API refresh yang ditingkatkan menyebabkan git berbeda setelah setiap refresh.