Git and Team
Bekerja dengan Git dari perspektif sebuah tim adalah hal yang menarik untuk dibahas. Banyak pertimbangan-pertimbangan yang harus dilakukan agar kerja tim tidak terhambat.
Di suatu tugas dari mata kuliah semester 6 perkuliahan yang tidak bisa disebut namanya, penguasaan git sangat diperlukan. Bisa dan lihai menggunakan git memang menjadi sebuah prasyarat agar proses version control di tugas ini berjalan lancar, tetapi karena di tugas ini projek dikerjakan secara tidak sendirian maka lihai menggunakan git dalam sebuah tim lah yang dibutuhkan. Tulisan ini dibuat untuk dapat lebih memahami git dalam sebuah workflow dari sudut pandang tim.
Definisikan Workflow dari Tim
Sebelum memulai segala tetek bengek dari git diperlukan definisi dari bagaimana tim akan bekerja. Tidak ada cara eksak untuk mendefinisikan ini. Sebagai gambaran penulis akan menjadikan cara kerja tim kami di tugas yang masih tidak dapat disebut namanya.
Secara umum projek kami dibuat dalam 2 repositori berbeda dimana salah satunya akan mengurus frontend dan yang satu lagi akan mengurus backend (Projek kami adalah membuat suatu aplikasi web).
Dalam sebuah repositori akan terdiri setidaknya dari branch:
- master (branch di tahap production)
- staging (branch di tahap development)
- fitur (branch-branch untuk setiap individu dari tim yang mengerjakan suatu fitur spesifik)
Selain branch ada beberapa hal yang perlu didefinisikan juga seperti:
- Konvensi penamaan branch
- Konvensi penamaan pesan commit
- Dan lain-lain
Hal-hal diatas akan mempermudah pengerjaan projek.
Feature Branch
Branch fitur akan dikerjakan oleh masing-masing individu (contoh: penulis akan mengerjakan fitur sign-in/out di branch “Fitur1_Sign-in/Sign-out”). Di branch tersebut penulis akan fokus mengerjakan fitur itu saja. Setelah melakukan commit dan push di branch tersebut, branch “Fitur1_Sign-in/Sign-out” akan di merge dengan branch staging.
# Git crash course:# Kalian dapat membuat branch dengan command
git branch <nama branch># Setelah branch terbentuk maka branch bisa dicek dengan command
git branch# Untuk pindah dari suatu branch ke branch lain lakukan dengan command
git checkout <nama branch># Kalian dapat memeriksa satus dari working repository kalian dengan
git status# untuk mengupdate pekerjaan kalian dapat dilakukan dengan:
git add [.|<nama file>]
git commit -m "pesan commit"
git push
Staging Branch
Dalam melakukan merge satu branch dengan branch lain sebaiknya kalian memberikan merge request terlebih dahulu agar anggota lain dalam tim dapat memeriksa apakah code kalian layak di merge ke branch staging.
# Another Git Crash Course:
# Untuk mengupdate branch dari remote repository
git pull# Jika ingin update dari branch berbeda, misalnya dari staging
# catatan: anda berada di branch yang ingin diupdate
git pull <remote repo> <nama branch>
Master Branch
Branch ini adalah branch production dimana idealnya segala hal yang ada di branch ini harus bebas bug, well-tested, perfect lah pokoknya.
Jika ada masalah terhadap branch ini seperti salah push maka ada beberapa tips yang penulis dapat sampaikan
# More Git Crash Course:
# Untuk mengembalikan branch ke commit yang benar
# penulis menyarankan menggunakan command
git revert <commit>
Sekian pembahasan singkat mengenai git dari perspektif tim yang penulis dapat bagikan berdasarkan pengalaman di mata kuliah yang memang tidak bisa disebutkan. Semoga bermanfaat