Fork
Layanan Azure DevOps | Azure DevOps Server 2022 - Azure DevOps Server 2019
Visual Studio 2019 | Visual Studio 2022
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 penerapan 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 fork repositori
- Membuat fork
- Mengkloning fork Anda secara lokal
- Mendorong perubahan lokal ke fork Anda
- Membuat dan menyelesaikan PR
- Sinkronkan fork Anda
Prasyarat untuk akses ke Azure Repos
Repositori harus diaktifkan di pengaturan proyek Azure DevOps Anda. Jika hub Repos dan halaman terkait tidak ditampilkan, lihat Mengaktifkan atau menonaktifkan layanan Azure DevOps untuk mengaktifkan kembali Repositori.
Untuk melihat kode dalam proyek privat, Anda harus menjadi anggota proyek Azure DevOps dengan tingkat akses Dasar atau yang lebih tinggi. Untuk proyek publik, semua orang dapat melihat kode.
Jika Anda tidak memiliki proyek, buat proyek atau daftar secara gratis.
Jika Anda bukan anggota proyek, tambahkan.
Untuk mengkloning atau berkontribusi pada kode untuk proyek privat, Anda harus menjadi anggota grup keamanan Kontributor atau memiliki izin yang sesuai yang ditetapkan. Untuk proyek publik, siapa pun dapat mengkloning dan menyumbang kode. Untuk informasi selengkapnya, lihat Apa itu proyek publik?
Catatan
Untuk proyek publik, pengguna yang diberikan akses Pemangku Kepentingan memiliki akses penuh ke Azure Repos.
Repositori harus diaktifkan di pengaturan proyek Azure DevOps Anda. Jika hub Repos dan halaman terkait tidak ditampilkan, lihat Mengaktifkan atau menonaktifkan layanan Azure DevOps untuk mengaktifkan kembali Repositori.
Untuk melihat kode, Anda harus menjadi anggota proyek Azure DevOps dengan akses Dasar atau yang lebih tinggi. Jika Anda bukan anggota proyek, tambahkan.
Untuk mengkloning atau berkontribusi pada kode, Anda harus menjadi anggota grup keamanan Kontributor , atau memiliki izin yang sesuai, dalam proyek yang ingin Anda ubah.
Membagikan kode antar fork
Repositori asli sering disebut sebagai repositori hulu . Anda dapat membuat PR untuk menggabungkan perubahan ke kedua arah: dari fork ke upstram, atau upstram 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 di cabang fitur dan kebijakan 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 fork 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.
- Membuat fork
- Mengkloning fork Anda secara lokal
- Mendorong perubahan lokal ke fork Anda
- Membuat dan menyelesaikan PR
- 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, Anda harus memiliki 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.
Dari browser web Anda, navigasikan ke repositori Azure Repos Git yang ingin Anda fork. Pilih Repositori > File lalu pilih Fork dari menu elipsis untuk membuka dialog Fork .
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.
Untuk informasi tentang cara membuat fork repositori GitHub, lihat Fork repositori.
Mengkloning fork Anda secara lokal
Setelah Anda membuat fork repositori, kloning fork Anda untuk membuat salinan lokal di folder di komputer Anda. Anda dapat mengkloning dari baris perintah atau dengan 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.
Tip
Untuk kenyamanan, Anda dapat menggunakan origin
alias dan upstream
alih-alih URL yang sesuai dalam perintah Git Anda.
Untuk menambahkan upstream
alias di Visual Studio, ikuti langkah-langkah berikut:
Pilih Opsi Alat > dari bilah menu untuk membuka jendela Opsi. Pilih Kontrol Sumber > Pengaturan > Repositori Git Jarak Jauh, lalu pilih Tambahkan untuk membuka dialog Tambahkan Jarak Jauh .
Dalam dialog Tambahkan Jarak Jauh, tambahkan remote baru yang disebut
upstream
dan masukkan URL klon Git dari repositori yang Anda fork. Lalu, pilih Simpan.
Mendorong perubahan lokal ke fork Anda
Ketika Anda fork, Anda membuat versi pribadi dari repositori asli (repositori asli disebut sebagai "upstream"). Fork independen dari hulu, tetapi fork berbagi kode dan mempertahankan tautan ke hulu, memungkinkan sinkronisasi di masa mendatang. Jadi, tidak ada yang mencegah Anda 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:
Buat fitur lokal atau cabang perbaikan bug.
Buat perubahan di cabang baru dan terapkan pekerjaan Anda. Biasanya, orang membuat beberapa penerapan saat mengerjakan fitur atau perbaikan bug.
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 pendorongan.
Membuat dan menyelesaikan PR
Di Azure Repos, untuk menggabungkan ke dalam repositori asli, perubahan yang Anda dorong ke fork, Anda dapat:
Buat PR untuk meminta peninjauan dan persetujuan perubahan Anda. Saat Anda membuka PR, atur cabang sumber PR ke 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 aliasupstream
.Cuplikan layar berikut menunjukkan repositori sumber dan cabang serta repositori target dan cabang PR yang dibuat di Azure Repos.
Untuk informasi selengkapnya tentang cara membuat PR menggunakan browser, Visual Studio, atau Azure DevOps CLI, lihat Membuat PR.
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 PR GitHub, lihat Membuat permintaan pull dan Menggabungkan permintaan pull.
Sinkronkan fork Anda
Setelah PR menggabungkan perubahan dari fork Anda ke cabang target repositori upstream, Anda dapat menarik dari cabang target repositori upstream untuk memperbarui cabang lokal yang sesuai dengan perubahan Anda dan perubahan apa pun 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 mendorong dari cabang lokal Anda yang diperbarui ke
origin
.
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.