-
Notifications
You must be signed in to change notification settings - Fork 38
Alur Kerja Repository Relawan
Pengembangan aplikasi Relawan menggunakan metode fork flow, yang secara umum alur kerjanya adalah sebagai berikut:
- Fork repository Relawan
- Clone repository hasil fork
- Tambahkan Upstream pada repository Relawan yang ada di lokal
- Coding (tambah fitur, perbaiki bug, dll)
- Commit untuk setiap perubahan atomik kemudian push di repo hasil fork
- Pastikan tidak ada yang error, lakukan Pull Request dari repo hasil fork ke repo ngesec/relawan
- Ketika ada Pull Request, akan ada tim yang memeriksa dan menyetujui
Fork adalah membuat copy dari sebuah repository. Dengan membuat copy dari sebuah repository, maka kita bisa bereksperimen tanpa mempengaruhi repository utama.
Secara umum, fork digunakan ketika anda ingin mengusulkan perubahan (entah itu menambah fitur atau memperbaiki bug) pada repository Relawan. Caranya adalah sebagai berikut:
- Fork repository Relawan ke akun github anda
- Lakukan perubahan atau perbaikan
- Submit pull request ke pemilik proyek (atau proyek maintainer)
Apabila perubahan tersebut (sesuai yang ada pada pull request anda) sudah kami verifikasi dan sesuai dengan tujuan aplikasi Relawan, maka akan kami setujui perubahan tersebut (dengan cara pull dan merge ke repository Relawan).
- Gunakan web browser (Chrome, Firefox, atau Edge) untuk mengunjungi repository Relawan
- Pada bagian kanan atas, klik pada tombol bertuliskan Fork seperti pada gambar berikut:
maka proses fork sudah selesai. Untuk melakukan verifikasi, silahkan kunjungi akun github anda, repository Relawan akan tampak. Sebagai contoh, apabila username github anda adalah XXXX, maka repository Relawan dapat diakses secara langsung menggunakan url https://github.com/XXXX/relawan
Sebagai catatan, ketika baru melakukan Fork, maka repository Relawan baru tersedia pada akun github anda saja. File-file yang ada pada repository tersebut belum tersedia pada komputer/laptop.
pada terminal (Linux/Mac) atau git bash (Windows), lakukan perintah berikut:
git clone https://github.com/xxxxx/relawan.git
dimana xxxxx adalah username akun github anda.
git remote add upstream https://github.com/NgeSEC/relawan.git
karena pada langkah 1 kita aktif di branch master, maka perintah ini akan mensinkronisasi upstream ke branch master yang ada di lokal.
git checkout -b nama-branch-baru
contoh:
git checkout -b fitur-A
Pada langkah ini, isi branch
fitur-A
adalah sama dengan master di lokal
yang dimaksud 1 perubahan atomik adalah 1 penambahan fitur atau 1 perbaikan bug, meski bisa saja ada perubahan ini terjadi pada banyak file
Catatan:
Seandainya saat coding (langkah 4), ternyata pada upstream terdapat update baru, maka kita bisa melakukan git pull --rebase upstream master
, maka branch saat ini berisi upstream dan coding tambahan kita
- git pull --rebase upstream master
- jika ada conflict:
- perbaiki file yang conflict
- git add nama_file_conflict
- git rebase --continue
- jika masih ada conflict:
- ulangi 2.i sampai 2.iii
- hingga tidak ada error conflict
- pastikan kodingan jalan
- git push origin
branch-yang-di-PR-biasanya-master
-f