Tuesday, July 11, 2017

Git Cheat Sheet

Git CLI
Git adalah salah satu basic version control (yang menurut saya) perlu kita kuasai (atau minimal tau cara pakainya) terutama dalam dunia development. Git memudahkan kita berkolaborasi dan melacak pengembangan dalam pengembangan sebuah project.

Kita dapat menggunakan Git yang berbasis  CLI atau Git yang berbasis GUI. Kalo di server si, kebanyakan pasti memakai CLI, karena mayoritas server tidak menggunakan interface yang berbasis GUI.

Saya bukan expert, karena itu saya mencoba mendokumentasikan apa yang sudah saya pelajari dalam penggunaan git. 

Namun sebelumnya ada jimat atau senjata ampuh yang perlu kita pahami dan pegang teguh dalam penggunaan git. hahaha.. :D
Perintah tersebut adalah :

git help
atau :

git command --help (e.g git clone --help)
Selain perintah diatas, ada hal lain yang perlu kita ingat-ingat. Yaitu selalu masuk kedalam direktori projek (gunakan perintah cd /path/folder/projek) sebelum memulai aktivitas git.


Membuat Repository :
Kita bisa mulai membuat repositori atau mengambil dari repositori git yang ada dari URL tertentu seperti github, gitlab atau bitbucket.

Membuat lokal repostiori baru dengan nama tertentu
git init [nama-projek] 
Mengunduh projek beserta branch dan versi keseluruhan  dari sebuah repositori

git clone [url_repo.git]
Clone branch tertentu dari repositori kedalam repositori lokal kita
git clone -b [nama_branch] [url_git] 

Membuat Perubahan Pada File Project :
Setelah kita melakukan perubahan pada file yang diperlukan, kita perlu melakukan review atau memeriksa file apa saja atau perubahan apa saja yang telah kita lakukan pada hari itu. berikut adalah perintah-perintah yang biasa saya gunakan :

melihat status repository, apa yang berubah, dikurangi atau ditambahkan
git status
melihat perubahan-perubahan file sebelum di tambahkan ke
git diff
menambahkan file atau folder agar termasuk dalam dokumen yang di lacak/track oleh git
git add [file/folder]
menambahkan seluruh file yang belum di track pada daftar yang muncul pada perintah git status
git add --all 
menampilkan perbedaan file yang terlacak pada git dengan versi terakhir
git diff --staged
me-reset file yang sudah terlacak dan tidak mengubah konten yang sudah diubah
git reset [file]
menambahkan perubahan yang sudah terlacak pada git untuk dimasukkan kedalam version history
reset file yang sudah terlacak dan tidak mengubah konten yang sudah diubah
git commit -m "catatan perubahan yang dilakukan"

Mengubah Nama atau Struktur File Project :
Mengubah struktur file, mengubah nama atau memindahkan file adalah aktivitas yang tidak mungkin lepas dalam proses pengembangan. Berikut adalah perintah yang biasa digunakan untuk mencapai hal ini.

menghapus file dari direktori project dan track pada git
git rm [file]
menghapus file dari track pada git tanpa menghapus file dari direktori project
git rm --cached [file]
mengubah nama file direktori project dan tracking pada git
git rm [nama_file] [nama_file_baru]

Melihat History Repository
Melihat history pengembangan project dan melihat perubahan-perubahan pada file dalam project.

Daftar histori versi untuk branch yang aktif
git log
Daftar histori versi untuk sebuah file, termasuk penamaan ulang (e.g git log --follow README.md)
git log --follow [file]
Menampilkan perbedaan konten antara dua branch
git dif [first_branch][second_branch]
Menampilkan metadata dan perubahan konten pada komit tertentu
git show [commit]

GROUP CHANGES :
Name a series of commits and combine completed efforts

Lists all local branches in the current repository
git branch
Creates a new branch (e.g git branch patch-14112016)
git branch [new_branch_name]
Switches to the specified branch and updates the working directory (e.g git checkout patch-14112016)
git checkout [branch_name/tag_name]
Combines the specified branch’s history into the current branch
git merge [branch_name]
Deletes the specified branch (e.g git branch -d [branch-name])
git branch -d [branch_name]
List tags which available on the repository
git tag --list

Mensinkronisasi Perubahan File Project
Register a repository bookmark and exchange version history

Downloads all history from the repository bookmark
git fetch [bookmark]
Combines bookmark’s branch into current local branch
git merge [bookmark/branch]
Uploads all local branch commits to Git server
git push [alias_repository] [branch_name]
Downloads bookmark history and incorporates changes, almost same with git fetch, but will execute git merge after fetch teh repo (your local repo will updated with remote repo)
git pull

Lain Lain
Mengganti teks editor pada perintah git commit
git config --global core.editor "[nama_teks_editor]"
semoga bermanfaat. :)

Referensi :

No comments:

Post a Comment