Prerequisites
Install Git: Git - Downloads (git-scm.com)
Install VS Code: Visual Studio Code - Code Editing. Redefined
Rekomendasi Extension VS Code: Git Graph
Create Github Account: GitHub
Setup Local Git Version
Config profile (global)
Config profil (local direktori)
Checking profile list
Check user.name
Untuk Pemilik Repository
1. Tambah .gitignore
Fungsi .gitignore
File .gitignore berfungsi untuk mengecualikan file-file yang tidak perlu diupload ke GitHub. Misal, pada sebuah proyek C++, kita hanya perlu mengupload file-file .cpp dan kita tidak usah mengupload file-file .exe karena file-file .exe akan otomatis dicompile pada masing-masing komputer.
Cara menambahkan .gitignore
Buat file bernama .gitignore di folder aplikasi. Template .gitignore bisa dipilih melalui repository GitHub ini. Sesuaikan dengan proyek yang sedang anda lakukan (misal jika ingin mengupload proyek Python, gunakan template .gitignore Python).
Berikut merupakan contoh file .gitignore untuk proyek Python: https://github.com/github/gitignore/blob/main/Python.gitignore
Kemudian masukkan file .gitignore ke folder proyek anda. Dalam contoh dibawah merupakan isi folder sebuah proyek Unity.
2. Buat repository di GitHub
Masuk ke akun github.com kamu, kemudian buat repository baru. Contohnya seperti ini:
JANGAN centang Add .gitignore atau Add a README file. Ntar pusing sendiri :). Anda bisa setting apakah repository bisa dilihat Public atau Private. Langsung tekan tombol Create repository.
2. Buat file .git di folder proyek
Pindah ke folder proyek, kemudian jalankan di cmd:
Misal, untuk repository URL: https://github.com/farisfaikar/testing-github
Jadi seperti ini: git remote add origin https://github.com/farisfaikar/testing-github
Untuk Anggota Repository
1. Cara clone repository
Pindah ke folder dimana kamu ingin download proyeknya, misal: MyProjects, kemudian clone repository. (Nanti pas diclone git otomatis buat folder dengan nama repositorynya, misal folder testing-github).
2. Cara upload perubahan ke GitHub
Aturan penamaan commit
Di awal tulisan commit alangkah baiknya jika menggunakan deskripsi singkat tentang perubahan yg ditambah, misalnya:
- feat: untuk penambahan fitur baru
- fix: untuk bugfixes/perbaikan
- refactor: untuk memperbaiki penulisan kodingan
- test: penambahan test
Referensi dari: https://gist.github.com/joshbuchea/6f47e86d2510bce28f8e7f42ae84c716
Cara membuat branch baru
Ketika melakukan kolaborasi di GitHub, alangkah baiknya jika kita membuat branch baru untuk menandakan perubahan baru pada sebuah codebase.
Berikut merupakan cara membuat branch baru di cmd:
Aturan penamaan branch
Terdapat aturan penamaan untuk branch, namun ini hanyalah saran agar para developer dapat menamakan branch dengan konsisten. Berikut merupakan cara membuat branch baru dengan penamaan git branch yang baik:
(contoh: faris.contact-us_buat-crud). Gunakan huruf kecil semua.
Cara membuat Pull Request
Pull request dibuat jika seorang programmer ingin berkontribusi ke sebuah repository yang tidak dimiliki oleh programmer tersebut. Misal, seorang programmer ingin berkontribusi ke sebuah repository open source Django. Untuk seorang programmer umum yang bukan bagian dari tim Django, mereka masih bisa berkontribusi melalui Pull Request. Caranya adalah:
- Lakukan Fork dari repository yang ingin kalian kontribusi. Fork berfungsi meng-copy dan paste repository tersebut ke repository di akun GitHub mu.
- Tambahkan perubahan pada branch baru.
- Buat Issue baru berikaitan dengan perubahan/kontribusi pada repository tersebut.
- Buat Pull Request.
- Pull Request akan di merge/close oleh pemilik repository agar ditambahkan ke repository **aslinya.
- ???
- Profit.
Git Stash Cheat Sheet
- git stash ⭐ / git stash save
- git stash pop (apply stash and delete it) ⭐
- git stash apply (apply stash and don't delete it)
- git stash -u (stash untracked files as well)
- git stash list (view list of stashes)
- git stash apply stash@{2} (apply specific stash)
- git stash drop stash@{2} (drop/delete spesific stash)
- git stash clear (delete all stash)
⭐ = most commonly used commands
Latihan Upload Repository
- Buat repository di akun GitHubmu.
- [Optional] Tambahkan file .gitignore sesuai dengan bahasa pemrograman/framework proyekmu: https://github.com/github/gitignore
- Masuk ke folder proyekmu, dan ketikkan:
- Cek link repositorymu untuk melihat apakah file-file proyekmu sudah terupload.
Latihan Membuat Pull Request
- Fork repository berikut: https://github.com/farisfaikar/quotes-lucu
- Clone repository tersebut ke komputer anda:
- Buat branch baru di repository yang sudah difork tersebut. (Contoh Nama Branch: tambah-quote-baru).
- Masuk ke VSCode dan buat perubahan yang anda inginkan. Dalam kasus ini, tambahkan quote baru.
- Simpan perubahan:
- Masuk ke halaman Repository yang sudah difork, kemudian buat Pull Request.
- Submit Pull Request.
- Tunggu Pull Request dimerge oleh pemilik Repository asli.
Referensi Luar
Tutorial Git Dasar (Bahasa Indonesia): https://youtu.be/fQbTeNX1mvM
Tutorial YouTube Penjelasan fitur-fitur Git & GitHub: https://www.youtube.com/playlist?list=PLe6EXFvnTV7-_41SpakZoTIYCgX4aMTdU
Git Stash In 5 Minutes ****https://www.youtube.com/watch?v=lH3ZkwbVp5E
(tutorial tersebut menggunakan GitKraken, sebuah GUI GitHub, namun sangat relevan untuk memahami fitur-fitur Git & GitHub)