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

Pengenalan Github

Pengenalan Github

Pengenalan Github sebagai layanan version control berbasis web.

Prasetiyo Hadi Purwoko

December 19, 2015
Tweet

More Decks by Prasetiyo Hadi Purwoko

Other Decks in Education

Transcript

  1. 18 December 2015 2 prasetiyohadi prasetiyohadi whoami • A mere

    Linux/ Unix user • 3+ years system administrator • ITB Mail SysAdm
  2. 18 December 2015 3 Outline • Pengenalan Git dan Github

    • Kolaborasi dengan Github • Branching dan Committing • Pull Requests
  3. 18 December 2015 5 Apa itu Github? • Website kolaboratif

    (https://github.com) • Git distributed version control • Akses ke sumber kode (source code) utama • Fitur Pull Requests dan Issues
  4. 18 December 2015 6 Git • Distributed Version Control •

    Bekerja di local copy / local directory • Upload perubahan ke Github • Download setiap perubahan yang dilakukan oleh orang lain
  5. 18 December 2015 8 Ekosistem Github • Tidak perlu menggunakan

    text editor dan bug tracker baru • Integrasi deployment process yang sudah ada • Dukungan penuh untuk continous integration dan continuous deployment
  6. 18 December 2015 10 Repositori Github • Elemen paling dasar

    dari Github • Berisi semua project file dan menyimpan riwayat dari setiap file
  7. 18 December 2015 11 Repositori Github • Pembuatan repositori (repo)

    Github • Pilih nama repo sesuai project yang dikerjakan • Task: Buat sebuah repositori baru sesuai contoh
  8. 18 December 2015 12 Pengenalan Repositori • Code – Setiap

    perubahan di file-file yang ada di Code disimpan oleh Git – Isi file README.md ditampilkan • Issues – Melacak bug dan permintaan fitur – Penyelesaian isu bisa ditugaskan pada anggota tim yang berbeda • Pull Requests – Perubahan yang ingin dilakukan pada Repo – Digunakan untuk menyelesaikan isu
  9. 18 December 2015 13 Issues • Diskusi ide, tugas, pengembangan,

    bugs • Semua anggota mendapatkan gambaran lengkap • Link ke isu atau pull request lain • Catatan tunggal dan jelas tentang suatu pengambilan keputusan • Pembagian tugas ke orang yang tepat
  10. 18 December 2015 14 Fitur-fitur Issues • Format tampilan isu

    menggunakan Markdown [https://help.github.com/articles/markdown-basics/] • Mention @somebody • Preview tab • Drag and drop screenshot/pictures • Delegasi suatu isu ke anggota lain yang memiliki akses ke repo • Label untuk manajemen isu • Filter isu berdasarkan label, author, assignee
  11. 18 December 2015 15 Issues • Task: buat isu baru

    sesuai contoh yang diberikan, gunakan user Github masing- masing sebagai assignee • Pembuatan isu baru
  12. 18 December 2015 17 Alur Kerja Github • Semua elemen

    di dalam repo baru ada di branch "master" • Gunakan branch baru untuk bereksperimen dengan tanpa mengganggu branch "master" • Setelah selesai bereksperimen dan ingin menambahkan perubahan ke branch "master", buat pull request (PR) • Setelah perubahan PR selesai, branch hasil eksperimen disatukan (merged) dengan "master" dan dapat dihapus
  13. 18 December 2015 18 Github Branches • Branch baru adalah

    duplikat dari "master" pada saat itu dan sama sekali terpisah dari "master" • Branches dapat digunakan untuk mengubah kode dalam bentuk apapun untuk di-review oleh orang lain
  14. 18 December 2015 19 Github Branches • Buat branch baru

    melalui tombol drop-down Branch dan mengetikkan nama branch yang diinginkan pada input teks • Setiap perubahan hanya terjadi pada branch tersebut • Github selalu membuka branch "master" ketika kita mengakses repo, pastikan berada di branch yang benar sebelum melakukan perubahan
  15. 18 December 2015 20 Github Branches • Task: Buat branch

    baru di repo yang sudah dibuat sesuai contoh
  16. 18 December 2015 21 Pembuatan File di Github • Kita

    bisa membuat file secara langsung di web interface Github dari tombol New file • Untuk membuat direktori/folder, tulis nama direktori/folder diakhiri tanda garis miring ("/") • Setelah selesai membuat file, commit perubahan pada repo • Pastikan menulis pesan commit dan memilih branch yang dibuat sebelumnya
  17. 18 December 2015 22 Pembuatan File di Github • Task:

    Buat file untuk menyelesaikan isu yang telah dibuat
  18. 18 December 2015 24 Pull Requests • Permintaan untuk menggabungkan

    (merge) suatu branch ke branch lain • Tempat mendiskusikan perubahan di dalam branch dan memungkinkan terus dilakukan modifikasi hingga selesai dan tim setuju dilakukan penggabungan (merge)
  19. 18 December 2015 25 Pembuatan Pull Request • Dari branch

    yang kita kerjakan, kita bisa membuat pull request • "base" adalah branch tujuan dan "compare" adalah branch yang berisi perubahan yang kita lakukan (misalnya "working") • Pastikan memberikan komentar perubahan apa yang dilakukan dan alasannya • Di dalam komentar gunakan tanda ("#") untuk menandai nomor isu yang diselesaikan dan akan dihubungkan dengan pull request (PR) yang dibuat
  20. 18 December 2015 26 Pembuatan Pull Request • TASK: Buat

    pull request untuk menggabungkan branch "working" ke dalam "master"
  21. 18 December 2015 27 Pembuatan Pull Request • Setelah PR

    dibuat, tab Files changed akan menunjukkan perubahan apa yang akan terjadi di branch "master" • Warna merah menunjukkan bagian yang akan dihapus, warna hijau menunjukkan bagian yang akan ditambahkan, tampilan ini sering disebut "diff"
  22. 18 December 2015 28 Perubahan Pull Request • TASK: pada

    tab Files changed tambahkan komentar untuk menambahkan poin-poin baru di dalam file biodata.md
  23. 18 December 2015 29 Perubahan Pull Request • Kita akan

    mendapatkan semua notifikasi komentar pada PR yang kita buat • Kita bisa langsung melakukan perubahan pada PR di tab Files changed
  24. 18 December 2015 30 Perubahan Pull Request • TASK: Ubah

    PR dengan cara menambahkan poin- poin yang diminta dan commit perubahan PR
  25. 18 December 2015 31 Penggabungan Pull Request • Setelah perubahan

    PR selesai, PR dapat digabungkan (merge) dengan "master" • Merge dapat dilakukan melalui tombol Merge pull request pada tab Conversation
  26. 18 December 2015 32 Penggabungan Pull Request • Ketika dilakukan

    merge maka isi dan riwayat dari branch tersebut akan ditambahkan ke branch "master" • Gunakan kata kunci "Fixes", "Resolves", "Closes" diikuti tanda ("#") dan nomor isu untuk sekaligus menutup isu yang diselesaikan oleh PR tersebut
  27. 18 December 2015 33 Penggabungan Pull Request • Pada tab

    Code dan branch "master" akan kita lihat folder "docs" yang berisi file "biodata.md" sudah ada di dalamnya
  28. 18 December 2015 34 ./done • Questions? Feedback? • Next

    topics (and next presenter)? – [Web, Email, FTP, DNS, SQL, NoSQL] Servers – Monitoring [Cacti, Icinga, Nagios, Fluentd, Sensu] – Cloud Computing [OpenStack, Vagrant, Docker, Kubernetes] – DevOps [Ansible, Puppet, PXE] – High Performance Computing [Linux Cluster] – Web Framework [Flask, Django, NodeJS] – Internet of Thing [Raspberry Pi, Arduino]