Beranda Coding Belajar Git dan GitHub untuk Flutter Developer
CodingFlutter

Belajar Git dan GitHub untuk Flutter Developer

Pelajari Git dan GitHub untuk Flutter Developer, mulai dari repository, commit, branch, merge, pull request, konflik kode, hingga workflow developer profesional.

Bagikan
belajar git github flutter
Bagikan

Dalam pengembangan aplikasi Flutter, kemampuan menulis kode bukan satu-satunya keterampilan yang dibutuhkan untuk menjadi developer profesional. Kamu juga perlu mengetahui cara mengelola perubahan kode, menyimpan riwayat pengembangan, mengembalikan versi sebelumnya, serta bekerja sama dengan developer lain tanpa saling merusak pekerjaan.

Di sinilah Git dan GitHub berperan penting.

Git membantu developer melacak perubahan kode dari waktu ke waktu, sedangkan GitHub menyediakan platform untuk menyimpan repository secara online, melakukan code review, mendiskusikan masalah, dan berkolaborasi dalam pengembangan perangkat lunak.

Pada Level 14 Roadmap Belajar Flutter dari Nol Sampai Siap Kerja ini, kamu akan mempelajari Git, GitHub, branch, commit, merge, pull request, penyelesaian konflik, serta workflow pengembangan aplikasi Flutter yang lebih terstruktur.

Materi disusun secara bertahap, mulai dari penggunaan Git pada proyek pribadi hingga simulasi workflow yang dapat diterapkan dalam tim developer.

Mengapa Flutter Developer Harus Belajar Git dan GitHub?

Bayangkan kamu sedang mengembangkan aplikasi manajemen karyawan. Aplikasi tersebut sudah memiliki fitur login, dashboard, daftar karyawan, pencarian, dan integrasi REST API.

Suatu hari, kamu mengubah struktur kode untuk menambahkan fitur baru. Ternyata perubahan tersebut justru menyebabkan halaman login mengalami error. Kamu ingin kembali ke versi sebelumnya, tetapi tidak memiliki salinan kode yang rapi.

Masalah lain muncul ketika kamu bekerja bersama developer lain. Kamu mengubah halaman dashboard, sedangkan rekanmu mengubah halaman yang sama. Ketika kedua perubahan digabungkan, beberapa kode tertimpa.

Situasi tersebut dapat dihindari atau ditangani dengan lebih baik menggunakan version control.

Git membantu kamu:

  • Melacak perubahan kode.
  • Menyimpan riwayat pengembangan.
  • Membuat cabang untuk fitur baru.
  • Membandingkan perubahan antarversi.
  • Mengembalikan perubahan yang bermasalah.
  • Menggabungkan pekerjaan dari beberapa cabang.
  • Bekerja dengan lebih aman ketika mengembangkan fitur baru.

Sementara itu, GitHub membantu kamu menyimpan repository secara online, membagikan kode, mengelola masalah melalui Issues, melakukan code review, serta mengoordinasikan pekerjaan melalui pull request.

Kemampuan tersebut juga berguna ketika kamu mengerjakan proyek freelance, mengikuti proyek open source, atau melamar pekerjaan sebagai Flutter Developer.

Memahami Perbedaan Git dan GitHub

Git dan GitHub saling berkaitan, tetapi keduanya bukan hal yang sama.

AspekGitGitHub
JenisSistem version controlPlatform hosting dan kolaborasi kode
Fungsi utamaMelacak perubahan kodeMenyimpan repository online dan mengelola kolaborasi
PenggunaanUmumnya melalui terminal atau aplikasi GUIMelalui website, aplikasi, CLI, dan integrasi lain
Riwayat kodeDisimpan dalam repository GitDapat ditampilkan melalui repository yang di-host
KolaborasiMelalui pertukaran dan penggabungan perubahanMelalui pull request, review, Issues, dan fitur kolaborasi

Git dapat digunakan tanpa GitHub. Kamu bisa mengelola repository secara lokal di komputer sendiri.

Sebaliknya, GitHub memanfaatkan Git untuk pengelolaan riwayat kode, lalu menyediakan berbagai fitur tambahan untuk membantu tim bekerja bersama.

Selain GitHub, terdapat layanan hosting repository lainnya. Namun, GitHub merupakan pilihan yang praktis untuk belajar karena banyak dokumentasi, tutorial, dan proyek open source tersedia di platform tersebut.

Persiapan Menggunakan Git untuk Proyek Flutter

Sebelum mulai menggunakan Git, pastikan lingkungan pengembangan sudah tersedia.

Kamu membutuhkan:

  1. Git yang terinstal pada komputer.
  2. Flutter SDK yang sudah dikonfigurasi.
  3. VS Code atau Android Studio.
  4. Terminal untuk menjalankan perintah Git.
  5. Akun GitHub jika ingin menyimpan repository secara online.

Periksa instalasi Git:

git --version

Jika Git sudah terinstal, terminal akan menampilkan nomor versinya.

Selanjutnya, konfigurasi identitas untuk commit:

git config --global user.name "Nama Developer"
git config --global user.email "email@example.com"

Ganti nama dan email contoh tersebut dengan identitas yang ingin kamu gunakan pada riwayat commit.

Periksa konfigurasi:

git config --global --list

Identitas ini digunakan untuk mencatat siapa yang membuat commit. Pastikan email yang digunakan sesuai dengan kebutuhan privasi dan konfigurasi akun GitHub kamu.

Membuat Repository Git pada Proyek Flutter

Repository adalah tempat Git menyimpan informasi riwayat dan perubahan proyek.

Jika kamu sudah memiliki proyek Flutter dari Level 10, buka terminal pada direktori proyek tersebut.

Misalnya, struktur proyeknya seperti berikut:

employee_management/
├── android/
├── ios/
├── lib/
├── test/
├── pubspec.yaml
└── README.md

Jalankan:

git init
git status

Perintah git init menginisialisasi repository Git di direktori saat ini, sedangkan git status menampilkan keadaan file yang sedang dilacak dan perubahan yang belum disimpan dalam commit.

Jika proyek tersebut sebelumnya sudah memiliki repository Git, jangan menginisialisasi repository baru tanpa memeriksa konfigurasi yang ada.

Memahami Git Working Directory

Dalam penggunaan sehari-hari, kamu akan berinteraksi dengan beberapa area utama Git.

  • Working directory: tempat kamu mengubah file proyek.
  • Staging area: tempat kamu memilih perubahan yang akan dimasukkan ke commit berikutnya.
  • Repository: tempat Git menyimpan commit dan riwayat perubahan.

Alur sederhananya:

<CodeBlock language=”mermaid”>flowchart LR
A[“Working Directory”] –>|”git add”| B[“Staging Area”]
B –>|”git commit”| C[“Local Repository”]
C –>|”git push”| D[“Remote Repository”]
D –>|”git fetch / pull”| C</CodeBlock>

Dengan memahami alur ini, kamu tidak akan menganggap setiap perubahan file otomatis masuk ke riwayat Git.

Perubahan harus dipilih dan dicatat melalui proses yang sesuai.

Memeriksa Perubahan dengan Git Status

Setelah mengubah file, jalankan:

git status

Perintah ini membantu kamu mengetahui:

  • File baru yang belum dilacak.
  • File yang telah diubah.
  • File yang sudah masuk staging area.
  • File yang belum dimasukkan ke commit.
Baca juga:  Membuat Aplikasi Flutter: 7 Ide Project untuk Pemula

Untuk melihat perubahan pada file yang belum di-stage, gunakan:

git diff

Setelah perubahan masuk staging area, gunakan:

git diff --staged

Kebiasaan memeriksa perubahan sebelum commit membantu menghindari kesalahan, misalnya memasukkan file konfigurasi pribadi atau perubahan yang belum selesai.

Memahami Git Add dan Git Commit

Commit adalah catatan perubahan yang disimpan dalam riwayat repository.

Sebelum membuat commit, kamu perlu memilih file atau perubahan yang akan disertakan.

Misalnya:

git add lib/screens/dashboard_screen.dart
git commit -m "feat: add employee dashboard"

Perintah pertama memasukkan perubahan file tersebut ke staging area. Perintah kedua membuat commit dengan pesan yang menjelaskan perubahan.

Jika ingin memasukkan seluruh perubahan yang sesuai untuk dicatat:

git add .
git status
git commit -m "feat: add employee search"

Periksa git status sebelum membuat commit untuk memastikan tidak ada file yang tidak seharusnya ikut dimasukkan.

Cara Menulis Commit Message yang Baik

Commit message sebaiknya singkat, jelas, dan menjelaskan tujuan perubahan.

Contoh:

feat: add employee search
fix: handle empty employee list
test: add employee validator tests
refactor: simplify employee repository
docs: update project setup guide

Prefix seperti feat, fix, test, refactor, dan docs merupakan konvensi yang dapat kamu gunakan agar riwayat commit lebih mudah dibaca. Ini bukan persyaratan wajib Git.

Hindari pesan terlalu umum seperti:

update
perbaikan
coba lagi
final
final fix

Pesan yang deskriptif memudahkan kamu dan rekan kerja memahami perubahan tanpa harus memeriksa seluruh kode.

Melihat Riwayat Commit

Gunakan:

git log --oneline

Contoh hasil:

a13bc42 test: add employee validator tests
c24de81 feat: add employee search
d35ef92 feat: create dashboard

Setiap commit memiliki identifier yang dapat digunakan untuk mengidentifikasi versi perubahan tertentu.

Riwayat commit menjadi sangat bermanfaat ketika kamu perlu mengetahui kapan suatu fitur dibuat atau commit mana yang memperkenalkan bug.

Memahami Branch pada Git

Branch memungkinkan kamu mengerjakan fitur atau perbaikan secara terpisah tanpa langsung mengubah branch utama.

Misalnya, aplikasi sudah memiliki branch main. Kamu ingin menambahkan fitur pencarian karyawan.

Buat branch baru:

git switch -c feature/employee-search

Perintah tersebut membuat branch baru sekaligus berpindah ke branch tersebut.

Setelah itu, kamu dapat mengubah kode, menjalankan test, dan membuat commit pada branch fitur.

Periksa branch yang sedang digunakan:

git branch

Tanda bintang menunjukkan branch aktif.

Contoh Penamaan Branch

Gunakan nama yang menjelaskan tujuan pekerjaan.

PrefixContohTujuan
feature/feature/employee-searchMenambahkan fitur
fix/fix/login-validationMemperbaiki bug
refactor/refactor/employee-repositoryMerapikan struktur kode
test/test/employee-formMenambahkan pengujian
docs/docs/update-readmeMemperbarui dokumentasi

Penamaan branch bukan aturan universal, tetapi konsistensi membantu tim memahami pekerjaan yang sedang berlangsung.

Mengapa Tidak Langsung Mengubah Main?

Branch utama umumnya digunakan untuk menyimpan versi proyek yang dianggap stabil atau siap untuk diintegrasikan dengan perubahan lain.

Dengan menggunakan branch fitur, kamu dapat:

  • Mengisolasi perubahan.
  • Menguji fitur sebelum digabungkan.
  • Meminta rekan kerja memeriksa kode.
  • Memperbaiki bug tanpa mengganggu pekerjaan lain.
  • Membuat pull request yang lebih mudah dipahami.

GitHub Flow menggunakan pendekatan berbasis branch seperti ini untuk mendukung pengembangan dan kolaborasi.

Menggabungkan Perubahan dengan Git Merge

Setelah fitur selesai dan pengujian berhasil, perubahan perlu digabungkan ke branch tujuan.

Misalnya, kamu sudah menyelesaikan fitur pencarian di feature/employee-search dan ingin menggabungkannya ke main.

Pertama, pastikan pekerjaan pada branch fitur sudah dicatat melalui commit. Kemudian, pindah ke branch tujuan:

git switch main

Perbarui branch dari remote jika repository dikerjakan bersama:

git pull

Selanjutnya, gabungkan branch fitur:

git merge feature/employee-search

Jika penggabungan berhasil, perubahan fitur akan masuk ke branch main.

Periksa hasilnya:

git status
git log --oneline

Untuk proyek pribadi, kamu bisa berlatih menggunakan merge secara lokal. Dalam workflow tim yang menggunakan GitHub Flow, penggabungan biasanya dilakukan setelah pull request ditinjau dan pemeriksaan yang diperlukan berhasil.

Menghapus Branch yang Sudah Tidak Diperlukan

Setelah fitur selesai digabungkan, branch lokal dapat dihapus:

git branch -d feature/employee-search

Perintah ini menghapus branch lokal yang telah digabungkan secara aman.

Jangan menghapus branch yang masih berisi pekerjaan penting yang belum digabungkan atau dicadangkan.

Menghubungkan Proyek Flutter dengan GitHub

Setelah memahami Git lokal, langkah berikutnya adalah menyimpan repository di GitHub.

Membuat Repository di GitHub

Buka GitHub dan masuk ke akun kamu.

Buat repository baru, misalnya dengan nama:

flutter-employee-management

Untuk latihan, kamu dapat memilih repository publik jika memang ingin kode tersedia bagi orang lain. Jika proyek mengandung informasi rahasia atau belum siap dipublikasikan, gunakan repository privat.

Jika kamu sudah mempunyai proyek lokal, salah satu cara paling sederhana adalah membuat repository GitHub kosong terlebih dahulu. Hindari menginisialisasi file yang sama secara terpisah di kedua tempat jika kamu belum memahami cara menggabungkan riwayat yang berbeda.

Menghubungkan Remote Repository

Pada terminal proyek lokal, tambahkan alamat repository GitHub:

git remote add origin https://github.com/USERNAME/flutter-employee-management.git

Ganti USERNAME dengan nama akun GitHub kamu.

Periksa remote yang sudah dikonfigurasi:

git remote -v

Jika repository lokal belum memiliki commit, buat commit awal terlebih dahulu.

Kemudian, pastikan nama branch utama sesuai dengan konfigurasi repository. Jika ingin menggunakan main, kamu dapat menjalankan:

git branch -M main
git push -u origin main

Perintah git push mengirim commit lokal ke remote. Opsi -u menetapkan upstream sehingga perintah push dan pull berikutnya dapat lebih sederhana.

Untuk autentikasi, gunakan mekanisme yang didukung GitHub, seperti Git Credential Manager, SSH, atau personal access token sesuai kebutuhan. Jangan menaruh token akses atau password di source code.

Memahami Git Push, Pull, dan Fetch

Ketiga perintah ini memiliki tujuan berbeda.

PerintahFungsi
git pushMengirim commit lokal ke remote
git fetchMengambil informasi dan commit dari remote tanpa otomatis menggabungkannya ke branch aktif
git pullMengambil perubahan dari remote dan mengintegrasikannya ke branch lokal sesuai konfigurasi

Contoh:

git fetch origin
git status
git pull

Dalam tim, biasakan memahami perubahan yang masuk sebelum menggabungkannya dengan pekerjaan lokal. Jangan langsung menggunakan perintah yang menimpa perubahan tanpa mengetahui dampaknya.

Memahami Pull Request pada GitHub

Pull request atau PR adalah mekanisme untuk mengusulkan perubahan dari satu branch agar ditinjau dan digabungkan ke branch lain.

Baca juga:  Database Flutter: SQLite, Local Storage, dan CRUD untuk Pemula

Pull request GitHub bukan sekadar tombol merge. PR menyediakan tempat untuk membahas perubahan, memeriksa kode, melihat hasil pemeriksaan otomatis, dan memberikan masukan sebelum perubahan masuk ke branch tujuan.

Alur Membuat Pull Request

Misalnya, kamu ingin menambahkan fitur pencarian karyawan.

Langkah 1 — Buat branch fitur

git switch -c feature/employee-search

Langkah 2 — Implementasikan fitur

Ubah kode pada layar daftar karyawan, repository, atau ViewModel sesuai arsitektur aplikasi.

Langkah 3 — Jalankan pemeriksaan

flutter analyze
flutter test

Tambahkan pemeriksaan lain sesuai kebutuhan proyek, misalnya integration test atau build.

Langkah 4 — Commit perubahan

git add .
git commit -m "feat: add employee search"

Langkah 5 — Push branch

git push -u origin feature/employee-search

Langkah 6 — Buka pull request

Di GitHub, buka repository dan pilih opsi untuk membuat pull request dari branch fitur menuju branch tujuan, biasanya main.

Tuliskan ringkasan perubahan, alasan perubahan diperlukan, dan hasil pengujian.

Langkah 7 — Review dan perbaikan

Periksa komentar reviewer dan lakukan perubahan jika diperlukan. Commit tambahan pada branch yang sama akan memperbarui pull request.

Langkah 8 — Merge

Setelah persyaratan review dan pemeriksaan terpenuhi, gabungkan pull request sesuai kebijakan repository.

Alur ini membantu menjaga kualitas kode dan membuat setiap perubahan memiliki konteks yang jelas.

Menyelesaikan Git Merge Conflict

Merge conflict terjadi ketika Git tidak dapat menentukan secara otomatis cara menggabungkan perubahan. Ini dapat terjadi ketika dua branch mengubah bagian kode yang sama dengan cara yang tidak dapat dipadukan secara otomatis.

Contoh konflik:

<<<<<<< HEAD
const title = 'Daftar Karyawan';
=======
const title = 'Data Karyawan';
>>>>>>> feature/update-title

Penanda tersebut menunjukkan bagian kode yang sedang dipertentangkan.

  • <<<<<<< HEAD menandai awal versi dari posisi atau branch saat ini.
  • ======= memisahkan dua versi.
  • >>>>>>> feature/update-title menandai akhir versi dari branch yang sedang digabungkan.

Penanda ini bukan kode Dart yang valid untuk dipertahankan dalam file akhir.

Cara Menyelesaikan Konflik

  1. Buka file yang mengalami konflik.
  2. Baca kedua versi dan pahami tujuan masing-masing perubahan.
  3. Tentukan apakah akan memakai salah satu versi atau menggabungkan keduanya.
  4. Hapus seluruh penanda konflik.
  5. Simpan file.
  6. Jalankan test dan pemeriksaan yang relevan.
  7. Masukkan file yang sudah diselesaikan ke staging area.
  8. Selesaikan proses merge sesuai instruksi Git.

Contoh hasil akhir:

const title = 'Daftar Karyawan';

Pilihan di atas hanyalah ilustrasi. Dalam proyek nyata, keputusan harus didasarkan pada kebutuhan fitur, bukan sekadar memilih versi yang paling mudah.

Untuk melihat keadaan repository:

git status

Setelah konflik selesai:

git add lib/screens/employee_screen.dart

Jika sedang menyelesaikan merge biasa, lanjutkan proses sesuai status Git, misalnya dengan membuat merge commit apabila diperlukan. Jika konflik terjadi saat rebase, alur penyelesaiannya berbeda dan perlu mengikuti petunjuk rebase yang sedang berlangsung.

Penting: jangan menghapus seluruh bagian konflik tanpa memahami perubahan yang dibawa masing-masing branch. Kamu dapat kehilangan fitur yang masih dibutuhkan.

Memahami File .gitignore pada Flutter

Tidak semua file proyek perlu dimasukkan ke repository.

Pada proyek Flutter, terdapat file dan direktori yang dihasilkan oleh proses build, konfigurasi IDE lokal, cache, serta file sementara. File tertentu juga mungkin berisi konfigurasi sensitif yang tidak boleh dipublikasikan.

File .gitignore digunakan untuk menentukan file atau direktori yang perlu diabaikan Git ketika belum dilacak.

Contoh aturan:

# File sementara
*.log
*.tmp

# File sistem operasi
.DS_Store
Thumbs.db

# File rahasia lokal
.env
.env.local

# File build yang dihasilkan
build/

Contoh tersebut bukan pengganti .gitignore bawaan Flutter. Gunakan aturan yang sesuai dengan proyek dan hindari mengabaikan file penting secara tidak sengaja.

Apakah pubspec.lock Perlu Di-Commit?

Untuk aplikasi Flutter yang dikembangkan sebagai aplikasi, pubspec.lock umumnya perlu dimasukkan ke repository agar versi dependensi yang digunakan dapat direproduksi dengan lebih konsisten.

Jangan menambahkan aturan pengabaian secara sembarangan yang menyebabkan file lock tersebut tidak ikut disimpan.

Jangan Mengunggah Secret ke GitHub

Jangan memasukkan informasi rahasia seperti:

  • Password.
  • Access token.
  • Private key.
  • Kredensial layanan.
  • File konfigurasi yang mengandung secret.
  • Kunci signing aplikasi yang bersifat privat.

Menghapus file dari commit terbaru tidak selalu menghapusnya dari seluruh riwayat Git. Jika secret sudah terunggah, segera cabut atau rotasi kredensial tersebut dan ikuti prosedur pembersihan riwayat jika diperlukan.

Dokumentasi terkait aturan pengabaian file dapat dipelajari melalui repository resmi Flutter.

Perintah Git yang Wajib Dikuasai

Berikut rangkuman perintah yang sering digunakan ketika mengembangkan aplikasi Flutter.

PerintahKegunaan
git initMembuat repository lokal
git clone URLMenyalin repository remote ke komputer
git statusMemeriksa status perubahan
git add .Memasukkan perubahan yang sesuai ke staging
git commit -m "pesan"Membuat commit
git log --onelineMelihat riwayat commit
git diffMelihat perubahan yang belum di-stage
git branchMelihat daftar branch lokal
git switch -c nama-branchMembuat dan berpindah ke branch
git switch nama-branchBerpindah branch
git merge nama-branchMenggabungkan branch
git fetchMengambil informasi dari remote
git pullMengambil dan mengintegrasikan perubahan remote
git pushMengirim commit ke remote
git stashMenyimpan sementara perubahan lokal
git revert HASHMembuat commit baru yang membatalkan perubahan commit tertentu
git restore fileMengembalikan perubahan file yang belum di-stage

Berhati-hatilah saat menggunakan perintah yang membuang atau menulis ulang perubahan. Sebelum menjalankan git reset --hard, menghapus branch, atau menggunakan opsi force push, pastikan kamu memahami dampaknya dan tidak menghilangkan pekerjaan yang masih dibutuhkan.

Workflow Developer Profesional untuk Proyek Flutter

Memahami perintah Git saja belum cukup. Kamu juga perlu membangun workflow yang konsisten.

Salah satu pendekatan praktis adalah GitHub Flow, yaitu workflow berbasis branch yang menggunakan pull request untuk membahas dan menggabungkan perubahan.

Berikut contoh workflow yang dapat diterapkan pada proyek Flutter.

Tahap 1 — Ambil Perubahan Terbaru

Sebelum mulai mengerjakan fitur, perbarui branch dasar:

git switch main
git pull

Pastikan tidak ada perubahan lokal yang belum disimpan atau berpotensi tertimpa.

Tahap 2 — Buat Branch untuk Satu Pekerjaan

git switch -c feature/employee-detail

Usahakan satu branch berfokus pada satu fitur atau satu kelompok perubahan yang saling berkaitan.

Tahap 3 — Implementasikan Fitur

Kembangkan fitur sesuai kebutuhan, misalnya halaman detail karyawan. Ikuti struktur folder dan prinsip Clean Code Flutter yang telah dipelajari pada Level 12.

Baca juga:  Roadmap Belajar Flutter dari Nol Sampai Siap Kerja

Tahap 4 — Jalankan Pemeriksaan Kualitas

flutter analyze
flutter test

Jika perubahan memengaruhi alur aplikasi, jalankan integration test yang relevan. Jika mengubah bagian yang sensitif terhadap performa, ukur dampaknya.

Tahap 5 — Commit Secara Bertahap

git add lib/screens/employee_detail_screen.dart
git commit -m "feat: add employee detail screen"

Buat commit yang cukup kecil dan jelas sehingga mudah diperiksa serta dipahami.

Tahap 6 — Push dan Buat Pull Request

git push -u origin feature/employee-detail

Buat pull request yang menjelaskan perubahan, alasan, dan cara pengujian.

Tahap 7 — Review dan Merge

Tinjau perubahan, tanggapi masukan, perbaiki kegagalan test, lalu gabungkan PR setelah persyaratan repository terpenuhi.

Tahap 8 — Bersihkan Branch

Setelah perubahan digabungkan, hapus branch fitur yang tidak lagi dibutuhkan dan mulai pekerjaan berikutnya dari branch dasar yang telah diperbarui.

Dengan workflow tersebut, perubahan lebih mudah dilacak dan risiko konflik dapat dikelola dengan lebih baik. Workflow ini merupakan contoh praktik yang dapat disesuaikan dengan kebutuhan tim, bukan satu-satunya workflow yang benar.

Praktik Langsung: Mengelola Proyek Flutter dengan GitHub

Untuk menguasai materi ini, praktikkan langsung pada proyek manajemen karyawan dari Level 10–13.

Target Proyek

Buat repository GitHub dengan struktur proyek Flutter yang rapi dan riwayat pengembangan yang dapat dipahami orang lain.

Langkah 1 — Inisialisasi repository

git init
git status

Langkah 2 — Periksa .gitignore

Pastikan file hasil build, file sementara, dan secret lokal tidak ikut dimasukkan ke repository. Pertahankan file penting yang diperlukan untuk menjalankan proyek.

Langkah 3 — Buat commit awal

git add .
git commit -m "chore: initialize Flutter project"

Langkah 4 — Hubungkan GitHub

Buat repository remote, lalu konfigurasi remote origin sesuai URL repository milikmu.

Langkah 5 — Push kode awal

git push -u origin main

Sesuaikan branch jika repository menggunakan nama berbeda.

Langkah 6 — Tambahkan fitur melalui branch

git switch -c feature/employee-search

Implementasikan fitur pencarian dan tambahkan test jika sesuai.

Langkah 7 — Periksa kualitas

flutter analyze
flutter test

Perbaiki masalah yang ditemukan sebelum meminta review.

Langkah 8 — Buat pull request

Push branch ke GitHub, buat PR, dan tuliskan ringkasan perubahan.

Langkah 9 — Simulasikan konflik

Jika ingin berlatih, ubah bagian yang sama pada dua branch terpisah. Pelajari cara Git mendeteksi konflik dan selesaikan dengan mempertimbangkan kebutuhan kedua perubahan.

Jangan melakukan simulasi ini pada satu-satunya salinan proyek penting. Gunakan repository latihan agar kamu dapat mencoba berbagai skenario dengan aman.

Langkah 10 — Rapikan dokumentasi

Buat README yang berisi deskripsi aplikasi, fitur, teknologi, langkah instalasi, cara menjalankan proyek, dan cara menjalankan test.

Setelah selesai, repository kamu tidak hanya menjadi tempat penyimpanan kode, tetapi juga dokumentasi proses pengembangan yang bisa ditinjau oleh developer lain.

Menyiapkan GitHub Repository untuk Portofolio

Repository GitHub dapat mendukung portofolio Flutter Developer apabila disusun dengan baik.

Beberapa hal yang perlu diperhatikan:

  • Nama repository: gunakan nama yang jelas dan relevan.
  • README: jelaskan fungsi aplikasi, fitur utama, teknologi, dan petunjuk instalasi.
  • Screenshot: tambahkan gambar UI yang membantu pembaca memahami aplikasi.
  • Riwayat commit: gunakan pesan yang deskriptif.
  • Struktur kode: pisahkan file berdasarkan tanggung jawab.
  • Testing: sertakan test yang relevan dan petunjuk menjalankannya.
  • Dokumentasi konfigurasi: jelaskan environment variable atau konfigurasi yang diperlukan tanpa membocorkan secret.
  • Lisensi: tentukan lisensi yang sesuai jika memang ingin mengizinkan penggunaan atau distribusi kode oleh pihak lain.

Untuk aplikasi Flutter, kamu juga dapat menyertakan informasi versi Flutter dan Dart yang digunakan jika relevan.

Repository yang rapi membantu reviewer memahami bukan hanya hasil akhirnya, tetapi juga cara kamu mengelola perubahan dan menjaga kualitas proyek.

Kesalahan Umum Saat Menggunakan Git dan GitHub

Mengunggah Seluruh File Tanpa Pemeriksaan

Perintah git add . memang praktis, tetapi tidak menjamin seluruh file yang ditambahkan aman atau relevan.

Biasakan menjalankan git status dan memeriksa perubahan sebelum commit.

Membuat Satu Commit untuk Terlalu Banyak Perubahan

Commit yang berisi puluhan perubahan tidak berkaitan akan lebih sulit ditinjau dan dibatalkan secara selektif.

Usahakan setiap commit merepresentasikan satu perubahan yang jelas.

Bekerja Langsung pada Branch Utama

Pada proyek yang menggunakan review, mengembangkan fitur langsung di main dapat membuat pekerjaan sulit diisolasi.

Gunakan branch terpisah sesuai workflow proyek.

Tidak Memperbarui Branch dari Remote

Jika beberapa developer mengubah repository yang sama, branch lokal bisa tertinggal. Periksa perubahan terbaru dan integrasikan sesuai kebutuhan sebelum melakukan merge.

Mengabaikan Merge Conflict

Konflik tidak seharusnya diselesaikan dengan memilih salah satu versi secara otomatis tanpa memahami maksud perubahan.

Periksa kedua sisi, gabungkan logika yang diperlukan, lalu jalankan test.

Menyimpan Secret di Repository

Secret yang masuk ke riwayat Git berpotensi tetap dapat diakses walaupun file dihapus pada commit berikutnya.

Gunakan konfigurasi yang sesuai, cegah secret masuk ke repository, dan rotasi kredensial yang sudah terlanjur terekspos.

Menganggap Git sebagai Pengganti Backup

Git membantu mengelola riwayat kode, tetapi bukan pengganti strategi backup lengkap. Database, file pengguna, konfigurasi eksternal, dan aset lain mungkin membutuhkan mekanisme pencadangan tersendiri.

Checklist Kelulusan Level 14

Gunakan checklist berikut untuk mengevaluasi kemampuanmu setelah mempelajari Git dan GitHub.

  • Memahami perbedaan Git dan GitHub.
  • Mampu menginisialisasi repository lokal.
  • Mampu membaca status dan membandingkan perubahan.
  • Mampu membuat commit dengan pesan yang jelas.
  • Mampu melihat riwayat commit.
  • Mampu membuat, berpindah, dan menggabungkan branch.
  • Mampu menghubungkan proyek Flutter dengan repository GitHub.
  • Mampu melakukan clone, push, fetch, dan pull.
  • Memahami fungsi pull request dan code review.
  • Mampu menyelesaikan merge conflict sederhana.
  • Memahami penggunaan .gitignore pada proyek Flutter.
  • Tidak mengunggah secret atau kredensial sensitif.
  • Mampu menjalankan flutter analyze dan flutter test sebelum mengajukan perubahan.
  • Mampu menulis README proyek yang jelas.
  • Memiliki setidaknya satu repository Flutter yang rapi dan dapat digunakan sebagai bahan portofolio.

Jika sebagian besar poin sudah dapat kamu praktikkan secara mandiri, kamu sudah memiliki fondasi version control yang berguna untuk proyek pribadi maupun kolaborasi.

FAQ Seputar Git, GitHub, dan Workflow Developer

Apakah Git wajib dikuasai oleh Flutter Developer?

Git bukan bagian dari bahasa pemrograman Flutter, tetapi sangat penting dalam workflow pengembangan perangkat lunak. Git membantu melacak perubahan, memulihkan pekerjaan, dan berkolaborasi dengan developer lain.

Apakah Git dan GitHub bisa dipelajari oleh pemula?

Bisa. Mulailah dengan git init, git add, git commit, dan git status. Setelah memahami repository lokal, lanjutkan ke branch, remote repository, push, pull, dan pull request.

Apa perbedaan Git merge dan pull request?

Git merge adalah operasi untuk menggabungkan perubahan antarbranch. Pull request adalah mekanisme kolaborasi pada platform seperti GitHub untuk mengusulkan, membahas, meninjau, dan kemudian menggabungkan perubahan.

Apakah repository GitHub harus bersifat publik?

Tidak. Kamu dapat menggunakan repository privat untuk proyek yang tidak ingin dibagikan secara terbuka. Untuk portofolio, repository publik dapat memudahkan reviewer melihat kode, selama kamu memiliki hak untuk mempublikasikannya dan tidak menyertakan informasi rahasia.

Apa yang harus dilakukan ketika terjadi merge conflict?

Periksa file yang mengalami konflik, pahami perubahan dari kedua sisi, tentukan hasil gabungan yang benar, hapus penanda konflik, lalu jalankan test. Setelah itu, selesaikan proses merge atau rebase sesuai keadaan repository.

Apakah semua proyek Flutter perlu menggunakan branch?

Untuk proyek sederhana, kamu dapat memulai dengan satu branch. Namun, branch terpisah sangat berguna ketika menambahkan fitur, memperbaiki bug, atau bekerja bersama orang lain. Gunakan workflow yang sesuai dengan skala proyek.

Kesimpulan

Git dan GitHub merupakan keterampilan penting bagi developer yang ingin mengembangkan aplikasi Flutter secara terstruktur dan kolaboratif.

Untuk memastikan bahwa aplikasi bekerja sesuai harapan, menemukan penyebab masalah secara sistematis maka diperlukan testing, debugging, dan performance Flutter.

Dengan Git, kamu dapat mengelola riwayat kode, membuat commit, bekerja menggunakan branch, dan menggabungkan perubahan. GitHub melengkapi kemampuan tersebut melalui remote repository, pull request, code review, dan berbagai fasilitas kolaborasi.

Kunci untuk menguasai Git bukan menghafal semua perintah, melainkan membiasakan diri menggunakan version control dalam setiap proyek. Mulailah dengan repository kecil, buat commit yang jelas, gunakan branch untuk pekerjaan terpisah, dan biasakan memeriksa kode sebelum melakukan merge.

Setelah menyelesaikan Level 14, kamu memiliki fondasi untuk mengelola kode Flutter dengan workflow yang lebih profesional dan menyiapkan repository yang layak ditampilkan dalam portofolio.

Tahap selanjutnya adalah Level 15 — Deployment Aplikasi Flutter. Pada level tersebut, kamu akan mempelajari cara menyiapkan build aplikasi, memahami konfigurasi rilis, membuat artefak distribusi, dan mempersiapkan aplikasi untuk digunakan oleh pengguna.

Bagikan

Tinggalkan komentar

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *

Artikel Terkait
testing performance flutter
CodingFlutter

Testing, Debugging, dan Performance Flutter untuk Pemula

Pelajari testing, debugging, dan optimasi performa Flutter melalui unit test, widget test,...

clean code flutter
CodingFlutter

Clean Code dan Arsitektur Flutter untuk Pemula

Pelajari Clean Code dan arsitektur Flutter, mulai dari SOLID, MVVM, repository pattern,...

authentication flutter
CodingFlutter

Authentication Flutter: Login, Token, dan Backend

Pelajari authentication dan backend Flutter dari nol, mulai dari registrasi, login, logout,...

membuat aplikasi flutter
CodingFlutter

Membuat Aplikasi Flutter: 7 Ide Project untuk Pemula

Pelajari cara membuat aplikasi Flutter nyata melalui 7 proyek, mulai dari To-Do...