Instalasi Git
Konfigurasi Git
Membuat Repository atau Project
Menambahkan File baru
Menambahkan beberapa file satu per satu
Perubahan isi file
Cek perubahan
Perubahan banyak file
Menghapus File
Menghapus File yang dibuat sebelum Staging Index
Mengembalikan perubahan isi File
Mengembalikan file yang dihapus
Restore File yang terhapus di Staging Index
Git Log
Membandingkan Perubahan
Melihat perubahaan dengan difftool vscode
Rename File
Reset Commit
git reset <mode> <hash/commitid>
Untuk membatalkan commit atau menggeser HEAD.
<Mode>
–soft: perubahan hanya sampai staged index (sebelum commit)
–mixed: perubahan hanya sampai working directory
–hard: perubahan dilakukan pada semua state (repository, staged index, working directory)
Grafik mode pada reset commit:
Staged berarti sebelum dicommit. Unstaged berarti sebelum di add. Working Directory berarti perubahan pada file juga hilang.
Revert Commit
git revert <hash/commitid>
Untuk membuat commit yang merupakan kebalikan commit sebelumnya
Commit Amend
git commit --amend -m "message"
merge commit, perubahan tidak dibuat commit baru
Command Lain
git checkout <nama_branch>: berpindah ke snapshot terakhir
#contoh:
git checkout master
Untuk berpindah ke snapshot terakhir.
git checkout <hash> -- nama_file: berpindah ke snapshot yang diinginkan
#contoh:
git checkout 83b5157 -- coba3.txt
Untuk berpindah ke snapshot yang diinginkan.
git revert <hash>: untuk commit kebalikan dari target hash tanpa menghilangkan versi head
#contoh:
git revert 4460191
Untuk membuat commit baru dengan hasil kebalikan dari target hash tanpa menghilangkan commit yang menjadi head.
Gitignore
.gitignore dberguna untuk mengabaikan file atau folder agar tidak ditampilkan di repository.
Ketika membuat file atau folder baru dan tidak ingin ditampilkan di repository, maka masukkan ke .gitignore
contoh:
*.txt
Untuk tidak menampilkan semua file dengan ekstensi .txt
log/
Untuk tidak menampilkan folder dengan nama log.
Branching
membuat percabangan timeline dari master
nantinya bisa di merge ke branch utama
menambahkan fitur tanpa takut mengganggu timeline master
master ini sudah berjalan di production
maka branch bisa digunakan untuk membuat timeline penambahan fitur atau perbaikan bug tanpa mengganggu produksi
misal:
— fitur 1.1 — fitur 1.2
| |
— develop ———————
|
master ————————————————————- master (production)
|
— hotfix aaa (perbaikan bug)
contoh nanti fitur 1.1 sudah jadi, bisa di merge ke branch develop atau ke master langsung.
jika hotfix atau perbaikan bug sudah selesai, bisa langsung di merge ke master (production – service yang sudah berjalan)
git branch –show-current: menampilkan branch yang digunakan
git branch: menampilkan list branch
git branch namabranchbaru: membuat branch baru
git switch namabranch: berpindah branch
git branch -m namabranchbaru: ganti nama branch, tapi masuk ke branch dulu
git branch -d namabranch: untuk menghapus branch
git merge namabranch: untuk menarik perubahan branch
git merge –abort: batal perubahan merge
kalau konflik edit file manual dan commit manual
* 888921c (HEAD -> feature/c) feature c – coba4.txt
* 0a3b727 feature c – coba3.txt
* 4f7c047 feature c – coba2.txt
* 1679f35 feature c – coba1.txt
git cherry-pick <commit-id/hash>: untuk merge commit tertentu
Git remote
1. Buat Repository baru
2. Buat ssh key di lokal
3. Copy public key ke github settings ssh
4. buat project baru (folder baru)
5. git init
6. git branch
7. git remote add nama ssh-url (nama biasanya origin, ssh-url buka di repo)
8. git remote: melihat daftar remote repository
9. git remote get-url namaremote: untuk melihat url remote repo
10. git remote rm namaremote: menghapus remote repo
11. git push namaremote localbranch: untuk mengirim perubahan ke remote repo
12. git push namaremote localbranch:namabranch :untuk melakukan push dengan perubahan nama branch
13. git push origin –all: untuk push semua branch
14. git push –delete namaremote namabranch: untuk menghapus branch remote repo
15. git clone urlremoterepo: untuk duplikasi dan berkontribusi ke remote repo
Tertarik mengikuti training di ID-Networkers? Kami menyediakan berbagai pilihan training yang bisa kamu ikuti, klik disini untuk info lengkapnya.
Penulis : Bazigan Tsamara Sukamto