Fork

Layanan Azure DevOps | Azure DevOps Server | Azure DevOps Server 2022

Visual Studio 2019 | Visual Studio 2022

Petunjuk

Anda dapat menggunakan AI untuk membantu tugas Azure DevOps. Lihat Aktifkan bantuan AI dengan Azure DevOps MCP Server untuk memulai.

Fork repositori Git berguna ketika orang ingin membuat perubahan eksperimental, berisiko, atau menyembunyikan basis kode, tetapi perubahan tersebut perlu diisolasi dari basis kode dalam repositori asli. Fork baru pada dasarnya adalah repositori jarak jauh baru yang berbagi kode sumber repositori asli.

Sebagai versi independen, perubahan yang Anda buat pada fork Anda, seperti menambahkan commit atau cabang, disembunyikan dari repositori asli. Jika Anda ingin menggabungkan perubahan basis kode ke dalam repositori asli, Anda harus membuat permintaan pull (PR) untuk meminta peninjauan dan persetujuan perubahan tersebut.

Proses forking tidak mentransfer izin, kebijakan, atau alur build apa pun dari repositori asli ke fork Anda.

Artikel ini membahas bekerja dengan fork di repositori Azure Repos Git, dan menyediakan tautan ke konten GitHub yang membahas cara mengelola Fork di repositori GitHub.

Di artikel ini, Anda akan mempelajari cara:

  • Membagikan kode antar fork
  • Memilih antara cabang dan fork
  • Aktifkan cabang repositori
  • Membuat fork
  • Mengkloning fork Anda secara lokal
  • Mendorong perubahan lokal ke fork Anda
  • Membuat dan menyelesaikan PR
  • Sinkronkan fork Anda

Prasyarat

Kategori Persyaratan
Akses proyek Anggota proyek .
Permissions - Lihat kode dalam proyek pribadi: Setidaknya akses Dasar .
- Mengkloning atau berkontribusi pada kode dalam proyek privat: Menjadi anggota dari grup keamanan Kontributor atau memiliki izin yang diperlukan dalam proyek.
- Mengatur izin cabang atau repositori: Mengelola izin adalah izin untuk cabang atau repositori.
- Mengubah cabang default: Kebijakan pengeditan merupakan izin untuk repositori.
- Impor repositori: Anggota Administrator Proyek grup keamanan atau tingkat proyek Git Buat repositori dengan izin diatur ke Izinkan. Untuk informasi selengkapnya, lihat Mengatur izin repositori Git.
Services Repos diaktifkan.
Tools Fakultatif. Gunakan az repos perintah: Azure DevOps CLI.

Catatan

Dalam proyek publik, pengguna dengan akses Stakeholder memiliki akses penuh ke Azure Repos, termasuk melihat, menyalin, dan berkontribusi pada kode.

Kategori Persyaratan
Akses proyek Anggota proyek .
Permissions - Lihat kode: Setidaknya akses Dasar.
- Mengkloning atau berkontribusi pada kode: Anggota kelompok keamanan Kontributor atau memiliki izin yang sesuai di dalam proyek.
Services Repos diaktifkan.

Membagikan kode antar fork

Repositori asli sering disebut sebagai repositori hulu . Anda bisa membuat PR untuk menggabungkan perubahan ke kedua arah: dari fork ke upstream, atau upstream ke fork. Arah yang paling umum adalah dari fork ke hulu. Izin, kebijakan, build, dan item kerja repositori tujuan akan berlaku untuk PR.

Memilih antara cabang dan fork

Untuk tim kecil yang terdiri dari 2-5 pengembang, alur kerja forking mungkin tidak diperlukan karena semua orang dapat bekerja pada cabang fitur dan kebijakan pada cabang dapat melindungi cabang default. Namun, jika tim Anda memperluas dan melampaui pengaturan ini, mereka dapat beralih ke alur kerja forking.

Jika repositori Anda memiliki sejumlah besar komitter biasa atau jarang, seperti proyek sumber terbuka mungkin, kami merekomendasikan alur kerja forking. Biasanya, hanya kontributor inti untuk proyek Anda yang harus memiliki hak penerapan langsung ke repositori asli Anda. Kolaborator lain harus menggunakan alur kerja forking untuk mengisolasi perubahan yang diusulkan sampai kontributor inti memiliki kesempatan untuk meninjau pekerjaan mereka.

Aktifkan cabang repositori

Untuk mengaktifkan fork untuk repositori Azure Repos Git, lihat mengaktifkan Forks.

Untuk mengaktifkan fork untuk repositori GitHub, lihat Mengelola kebijakan forking untuk organisasi Anda.

Alur kerja forking

Alur kerja forking terdiri dari lima langkah yang dijelaskan di bagian berikut.

  1. Membuat fork
  2. Mengkloning fork Anda secara lokal
  3. Mengirimkan perubahan lokal ke fork Anda
  4. Membuat dan menyelesaikan PR
  5. Sinkronkan fork Anda

Membuat fork

Langkah-langkah berikut menjelaskan cara membuat fork repositori Azure Repos Git.

Catatan

Untuk membuat fork repositori dalam proyek Azure DevOps, minta izin Buat Repositori untuk proyek tersebut. Pemilik repositori harus mempertimbangkan untuk membuat proyek khusus untuk fork dan menetapkan izin Buat Repositori ke semua kontributor. Untuk informasi selengkapnya tentang mengatur izin, lihat Mengatur izin repositori Git.

  1. Dari browser web Anda, navigasikan ke repositori Azure Repos Git yang ingin Anda fork. Pilih Repo > Files lalu pilih Fork dari menu elipsis untuk membuka dialog Fork.

    Cuplikan layar item menu Fork di menu Tindakan lainnya pada halaman Repo Files di Azure Repos.

  2. Dalam dialog Fork, beri nama repositori fork, pilih proyek tempat Anda ingin fork dibuat, pilih cabang yang akan disertakan dalam fork, lalu pilih Fork. Anda dapat menentukan apakah fork akan berisi semua cabang atau hanya cabang default. Jika repositori berisi beberapa cabang topik, maka pertimbangkan hanya menyertakan cabang default di fork Anda.

    Cuplikan layar dialog Fork di halaman File Repo di Azure Repos.

Untuk informasi tentang cara membuat fork repositori GitHub, lihat Fork repositori.

Mengkloning fork Anda secara lokal

Setelah Anda melakukan fork pada repositori, kloning fork Anda untuk membuat salinan lokal dalam folder di komputer Anda. Anda dapat mengkloning melalui baris perintah atau menggunakan IDE seperti Visual Studio. Untuk informasi selengkapnya tentang mengkloning repositori, lihat Mengkloning repositori Git yang ada.

Saat Anda mengkloning repositori jarak jauh, Git menetapkan alias origin sebagai singkatan untuk URL repositori jarak jauh yang Anda kloning. Untuk kenyamanan, tambahkan alias lain bernama upstream untuk repositori yang Anda fork, yang disebut sebagai repositori upstream. Langkah-langkah berikut menjelaskan cara menambahkan upstream alias.

Petunjuk

Untuk kenyamanan, Anda dapat menggunakan origin dan upstream sebagai alias alih-alih URL yang sesuai dalam perintah Git Anda.

Untuk menambahkan upstream alias di Visual Studio, ikuti langkah-langkah berikut:

  1. Pilih Alat> Opsi dari bilah menu untuk membuka jendela Opsi. Pilih Kontrol Sumber > Pengaturan Repositori Git > Remote, lalu pilih Tambahkan untuk membuka dialog Tambahkan Remote.

    Cuplikan layar tombol Tambahkan di panel Jarak Jauh submenu Pengaturan Repositori Git dari menu Kontrol Sumber di Visual Studio 2019.

  2. Dalam dialog Tambahkan Jarak Jauh, tambahkan remote baru yang disebut upstream dan masukkan URL klon Git dari repositori yang Anda fork. Lalu, pilih Simpan.

    Cuplikan layar kotak dialog Tambahkan Jarak Jauh di Visual Studio 2019.

Mendorong perubahan lokal ke fork Anda

Ketika Anda melakukan fork, Anda membuat versi pribadi dari repositori asli, yang disebut sebagai "upstream". Fork bersifat independen dari hulu, dan fork berbagi kode serta mempertahankan tautan ke hulu, memungkinkan adanya sinkronisasi masa depan. Jadi, tidak ada yang menghalangi Anda untuk bekerja langsung di main cabang klon lokal dan kemudian mendorong pekerjaan itu ke main cabang fork Anda. Namun, umumnya lebih baik menggunakan cabang fitur untuk pekerjaan Anda. Dengan menggunakan cabang fitur:

  • Anda dapat mempertahankan beberapa aliran kerja independen secara bersamaan.

  • Anda mempermudah orang lain untuk memahami pekerjaan yang Anda bagikan karena pekerjaan tersebut diatur ke dalam alur kerja yang berbeda menurut cabang.

Alur kerja Git yang khas mencakup langkah-langkah berikut:

  1. Buat fitur lokal atau cabang perbaikan bug.

  2. Buat perubahan di cabang baru dan terapkan pekerjaan Anda. Biasanya, orang melakukan beberapa commit saat mengerjakan fitur atau bug fix.

  3. Dorong fitur atau cabang perbaikan bug ke fork Anda. Fork Anda memiliki alias origin.

Untuk informasi tentang cara mendorong perubahan Anda, lihat Berbagi kode dengan push.

Membuat dan menyelesaikan PR

Di Azure Repos, untuk menggabungkan perubahan yang Anda dorong ke fork kembali ke repositori asli, Anda dapat:

  1. Buat PR untuk meminta peninjauan dan persetujuan perubahan Anda. Saat Anda membuka PR, atur cabang sumber PR ke cabang fitur atau cabang bugfix di fork Anda. Cabang target PR biasanya main merupakan cabang repositori yang Anda fork. Repositori itu disebut sebagai repositori hulu dan memiliki alias upstream.

    Cuplikan layar berikut menunjukkan repositori sumber dan cabang serta repositori target dan cabang PR yang dibuat di Azure Repos.

    Cuplikan layar opsi sumber PR dan cabang target di Azure Repos.

    Untuk informasi selengkapnya tentang cara membuat PR menggunakan browser, Visual Studio, atau Azure DevOps CLI, lihat Membuat PR.

    Penting

    Siapa pun di Proyek Valid Pengguna dan dengan izin Baca pada repositori upstream dapat membuka PR untuk itu. Jika repo upstream memiliki alurpipelinebuild PR yang dikonfigurasi untuk dijalankan pada pembuatan PR, build akan berjalan pada perubahan yang diperkenalkan oleh PR Anda.

  2. Agar PR Anda selesai, semua peninjau yang diperlukan harus menyetujui perubahan PR dan semua kebijakan cabang target harus dipenuhi. Pada persetujuan dan penyelesaian PR, perubahan di cabang sumber PR akan bergabung ke cabang target PR.

Untuk informasi tentang cara membuat dan menyelesaikan permintaan tarik GitHub, lihat Membuat permintaan tarik dan Menggabungkan permintaan tarik.

Sinkronkan fork Anda

Setelah PR menggabungkan perubahan dari fork Anda ke cabang target repositori utama, Anda dapat melakukan pull dari cabang target repositori tersebut untuk memperbarui cabang lokal yang sesuai dengan perubahan Anda dan perubahan lain yang dibuat oleh kontributor lain. Kemudian Anda siap untuk:

  • Buat fitur baru atau cabang perbaikan bug dari cabang lokal yang diperbarui.

  • Perbarui fork Anda dengan melakukan push dari cabang lokal Anda yang sudah diperbarui ke .

Biasanya, cabang target repositori hulu adalah main. Jika Anda tidak langsung mengedit cabang lokal main Anda (Anda bekerja di cabang fitur), maka menarik dari cabang upstream/main hulu akan memperbarui cabang lokal main Anda tanpa konflik penggabungan.

Langkah berikutnya