Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Memaksimalkan Git untuk Kerja Tim

Memaksimalkan Git untuk Kerja Tim

Miral Achmed

January 07, 2024
Tweet

Other Decks in Programming

Transcript

  1. Git? Git adalah distributed version control system (VCS) yang dirancang

    untuk mencatat setiap perubahan - perubahan dalam kode sumber perangkat lunak selama pengembangan perangkat lunak.
  2. Repository Repositori Git dapat diartikan database projek yang mencatat semua

    perubahan yang terjadi pada file dan direktori dalam proyek tersebut • Local Repository • Remote Repository
  3. Commit Penggambaran satu set perubahan tertentu pada proyek dan menciptakan

    titik dalam history proyek yang dapat dirujuk kembali.
  4. History Adalah catatan atau riwayat lengkap dari perubahan-perubahan yang terjadi

    dalam suatu repository. History Git mencakup informasi tentang setiap commit yang telah dilakukan, termasuk informasi tentang perubahan apa yang dilakukan, siapa yang melakukannya, kapan perubahan itu terjadi, dan pesan yang terkait dengan setiap commit.
  5. Branching Proses yang memungkinkan developer untuk bekerja pada perubahan atau

    fitur tertentu tanpa mempengaruhi branch utama atau branch lainnya.
  6. Status data pada Git 1. Untracked, file tidak tercatat di

    repository git. 2. Unmodified, file sudah tercatat di repository tetapi tidak mengalami perubahan. 3. Modified, file sudah tercatat di repository git dan mengalami perubahan. 4. Staged, file sudah berada di staging area dan sudah siap di commit. 5. Committed, file sudah dicatat di repository git. https://git-scm.com/book/en/v2/images/areas.png
  7. Git Hosting Git hosting adalah layanan atau platform yang menyediakan

    infrastruktur untuk menyimpan, mengelola, dan berkolaborasi pada repositori Git. • GitHub • GitLab
  8. Git Flow • Master/Main Branch: Mewakili versi stabil yang siap

    dirilis. • Develop Branch: Tempat pengembangan aktif berlangsung. • Feature Branches: Cabang untuk menambahkan fitur baru. • Release Branches: Cabang untuk persiapan rilis. • Hotfix Branches: Cabang untuk memperbaiki bug di produksi. https://nvie.com/posts/a-successful-git-branching-model/
  9. GitHub Flow • Main Branch: Umumnya menggunakan branch bernama "main"

    sebagai branch utama. • Feature Branches: Pengembang membuat cabang untuk setiap fitur atau perbaikan bug. • Pull Requests: Perubahan diusulkan melalui pull requests untuk direview dan dibahas sebelum diintegrasikan ke main.
  10. Gitlab Flow • Master/Main Branch: Mewakili versi yang siap untuk

    produksi. • Feature Branches: Cabang untuk menambahkan fitur baru. • Production Branch: Digunakan untuk melakukan deployment ke lingkungan produksi. • Hotfix Branches: Cabang untuk memperbaiki bug di produksi.
  11. Pull Request / Merge Request Permintaan oleh seorang pengembang kepada

    pemilik repositori untuk menggabungkan perubahan yang telah mereka buat di branch terpisah ke branch utama repositori.
  12. Masalah ketika berkolaborasi menggunakan Git 1. Konflik Merge 2. Cabang

    yang Ketinggalan (Outdated Branch) 3. Perubahan Tidak Terlacak (Untracked Changes)
  13. Konflik Merge Saat dua atau lebih anggota tim mengubah bagian

    yang sama dari kode atau file, hal ini dapat menyebabkan konflik saat mencoba untuk menggabungkan perubahan tersebut. Git akan menandai area yang konflik, dan pengguna perlu menyelesaikan konflik manual sebelum melanjutkan. • Sebelum menggabungkan branch, pastikan untuk melakukan pull dari branch target terlebih dahulu. • Selalu komunikasikan perubahan yang akan Anda lakukan dengan tim, terutama jika ada bagian yang sering diubah.
  14. Cabang yang Ketinggalan (Outdated Branch) Jika seseorang bekerja di cabang

    yang tidak diperbarui dengan perubahan terbaru dari cabang utama (master atau development), hal ini dapat menghasilkan kesulitan saat mencoba untuk menggabungkan perubahan mereka atau membuat pull request. • Pastikan untuk secara berkala melakukan pull dari cabang utama ke cabang lokal Anda. • Gunakan rebase jika memungkinkan untuk menjaga sejarah commit tetap bersih.
  15. Perubahan Tidak Terlacak (Untracked Changes) Seringkali, pengembang lupa untuk menambahkan

    atau meng-commit file yang baru dibuat atau diubah sebelum melakukan push. Ini dapat menyebabkan perubahan tersebut tidak terlacak dan tidak akan masuk ke repositori. • Pastikan untuk menambahkan dan meng-commit semua perubahan sebelum melakukan push. • Gunakan perintah git status untuk melihat perubahan yang belum terlacak.
  16. Sumber belajar • Getting Git right - https://www.atlassian.com/git • Git

    Book - https://git-scm.com/book/id/v • Github: Getting started with Git - https://docs.github.com/en/get-started/getting-started-with-git • Gitlab Tutorials: Learn Git - https://docs.gitlab.com/ee/tutorials/learn_git.html