Bagikan melalui


Mengharuskan cabang dibuat dalam folder

Layanan Azure DevOps | Azure DevOps Server 2022 - Azure DevOps Server 2019

Ketika Anda memiliki banyak orang yang berkolaborasi di repositori, jumlah dan nama cabang dapat dengan cepat tidak terkendali. Folder cabang hierarkis adalah cara yang efektif untuk menjinakkan kekacauan. Azure DevOps Services, TFS, dan Visual Studio memperlakukan / sebagai pemisah folder dan akan secara otomatis menciutkan folder secara default. Dengan cara ini, Anda tidak perlu mengarungi setiap cabang untuk menemukan cabang yang Anda cari. Anda tidak perlu mengandalkan semua orang untuk mendapatkannya dengan benar, baik. Azure Repos dan TFS dapat memberlakukan penggunaan folder cabang yang benar.

Perencanaan

Tentukan struktur folder yang ingin Anda izinkan. Sebagai contoh, kita akan mengatur repositori untuk menerapkan aturan berikut:

  • Hanya main dapat ada di akar repositori.
  • Semua pengguna akan diizinkan untuk membuat cabang di feature/ bawah folder dan users/ .
  • Administrator akan dapat membuat cabang di release/ bawah folder.

Catatan

Untuk contoh dan informasi selengkapnya tentang strategi penamaan cabang, lihat Mengadopsi strategi pencabangan Git.

Persiapan

  • Anda akan memerlukan perintah kontrol versi Team Foundation (tf.exe).
  • Anda akan memerlukan URL akun atau koleksi Anda, nama proyek, dan nama repositori. Untuk contoh ini, kita akan menggunakan https://fabrikam-fiber.visualstudio.com, , FabrikamProjectdan FabrikamRepo.

Catatan

Perintah tf.exe diinstal secara default dengan Visual Studio. Anda dapat mengaksesnya melalui Prompt Perintah Pengembang. Untuk opsi tambahan, unduh Team Explorer.

Menerapkan izin

Jalankan perintah berikut di Prompt Perintah Pengembang, di bawah Mulai>Perintah Pengembang Visual Studio.> Setiap perintah didahului dengan penjelasan tentang apa yang dilakukannya. Jika Anda tidak memiliki token akses pribadi yang di-cache (misalnya dengan masuk ke portal web Azure DevOps Services) Anda akan diminta untuk masuk.

Pertama, blokir izin Buat Cabang di akar repositori untuk kontributor proyek.

tf git permission /deny:CreateBranch /group:[FabrikamProject]\Contributors /collection:https://dev.azure.com/fabrikam-fiber/ /teamproject:FabrikamProject /repository:FabrikamRepo

Kemudian, izinkan kontributor untuk membuat cabang di bawah feature dan users.

tf git permission /allow:CreateBranch /group:[FabrikamProject]\Contributors /collection:https://dev.azure.com/fabrikam-fiber/ /teamproject:FabrikamProject /repository:FabrikamRepo /branch:feature
tf git permission /allow:CreateBranch /group:[FabrikamProject]\Contributors /collection:https://dev.azure.com/fabrikam-fiber/ /teamproject:FabrikamProject /repository:FabrikamRepo /branch:users

Izinkan administrator untuk membuat cabang di bawah release.

tf git permission /allow:CreateBranch /group:"[FabrikamProject]\Project Administrators" /collection:https://dev.azure.com/fabrikam-fiber/ /teamproject:FabrikamProject /repository:FabrikamRepo /branch:release

Terakhir, izinkan administrator untuk membuat cabang yang disebut main (jika tidak sengaja dihapus).

tf git permission /allow:CreateBranch /group:"[FabrikamProject]\Project Administrators" /collection:https://dev.azure.com/fabrikam-fiber/ /teamproject:FabrikamProject /repository:FabrikamRepo /branch:main

Catatan

Untuk informasi selengkapnya, lihat izin git tf. Anda juga dapat mengakses bantuan untuk perintah ini dari baris perintah dengan menjalankan tf git /? dan tf git permission /?.

Mengganti nama cabang lama

  1. Buka repositori Anda di web dan pilih tampilan Cabang.

  2. Temukan cabang Anda yang sudah ada. Jika Anda tidak melihatnya, Anda mungkin perlu melihat di tab Semua .

  3. Pilih menu konteksnya (tombol ... ) dan pilih Cabang baru.

    Menu buat cabang

  4. Ketik nama baru cabang, misalnya users/frank/readme-fix. Pilih Buat cabang.

    Buat cabang baru

  5. Pilih ikon keranjang sampah merah di samping nama cabang lama untuk menghapusnya.

    Hapus cabang lama

Catatan

Setiap izin kustom atau kebijakan cabang yang telah Anda siapkan tidak akan dimigrasikan.