Step Awal Belajar Git

Jika anda seorang data scientist atau data analyst, maka sering kali melakukan banyak pekerjaan untuk menulis kode bahasa pemrograman untuk ber eksperimen dalam membuat model pembelajaran mesin atau analisis data. Dalam prakteknya, setiap kode yang di tulis pada project tahap awal pastinya akan banyak sekali yang di revisi.

Untuk mengontrol banyak perubahan ini, kadang kala jika menggunakan teknik manual, seperti contoh : dengan membuat folder bernama folder1, folder2 atau file1, file2 sampai dengan file-final. Tentunya ini tidak efektif, mungkin jika project nya berukuran kecil dengan beberapa file saja tidak masalah. Tetapi jika project nya sudah melibatkan banyak file lalu digabung dengan tim lain yang sedang bekerja sama dengan Anda, maka akan kesulitan dalam mengelola project ini. Nah, disinilah penting nya untuk menggunakan Git.

I'm an egotistical bastard, and I name all my projects after myself. First Linux, now Git. - Linus Torvalds, author of Git

Prasyarat

  • Memahami dasar perintah shell

Tujuan

  • Mempelajari apa itu Git dan cara kerjanya
  • Membuat project lokal dan mengunggah ke Repositori online Github menggunakan baris perintah Git.

Apa itu Git?

Git adalah perangkat lunak pengontrol versi ( VCS - Version Control System ) atau proyek manajemen kode perangkat lunak yang diciptakan oleh Linus Torvalds. Ini digunakan untuk melacak revisi dan memungkinkan tim pengembang untuk bekerja sama dalam suatu proyek melalui cabang.

Git memperlakukan datanya sebagai sebuah kumpulan snapshot dari sebuah miniatur sistem berkas. Setiap kali anda melakukan commit, atau melakukan perubahan pada proyek Git anda, pada dasarnya Git merekam gambaran keadaan berkas-berkas anda pada saat itu dan menyimpan referensi untuk gambaran tersebut. Agar efisien, jika berkas tidak mengalami perubahan, Git tidak akan menyimpan berkas tersebut melainkan hanya pada berkas yang sama yang sebelumnya telah disimpan.

Git bukan hanya GitHub. Git adalah sistem, dan GitHub adalah layanan hosting repositori (yang paling populer dari sekian banyak).

Berikut ilustrasi cara kerja dari Git:

Git VCS

Step 1: Instalasi

Mac

Buka terminal program. Ketik git --version lalu enter. Jika menampilkan angka versi dari Git, maka Git sudah terinstal. Jika muncul pesan lain-bash: git: command not found , install Xcode dari App Store.

Di XCode, install Command Line Tools: > Preferences > Downloads > Command Line Tools. Anda sekarang dapat menggunakan Git melalui Terminal.

Atau bisa juga mengunduh melalui Git untuk Mac dengan file yang relatif lebih kecil dari pada Xcode.

Windows

Unduh Git untuk Windows. Anda akan menggunakan program CMD. Ini akan menggunakan semua perintah yang sama seperti Terminal. Opsi tambahan bisa menggunakan portable console emulator cmder.

Linux Debian/Ubuntu

sudo apt-get install git

Step 2: Buat Repositori Git Online

GitHub adalah lokasi hosting paling populer untuk menampung repositori, selain GitHub ada juga lainnya seperti Bitbucket dan Gitlab. Tetapi, dalam tutorial ini kita akan menggunakan GitHub.

Oke, sekarang silahkan buat terlebih dahulu jika belum mempunyai akun. Daftar GitHub .

Setelah Anda membuat akun, buat repositori dengan mengklik Add New Repo dengan nama repositori belajar-git. Pilih Public dan abaikan README.md atau .gitignore pada poin ini. Lalu klik tombol Create repository .

Step 3: Buat Project Lokal

Jika Anda sama sekali tidak terbiasa dengan perintah shell, Berikut adalah perintah yang paling mendasar yang perlu Anda ketahui untuk memulai.

Referensi dasar perintah shell

  • pwd Cetak Direktori Kerja – menunjukkan direktori tempat Anda bekerja.
  • ls Daftar Direktori – melihat daftar semua file dan folder di direktori Anda saat ini.
  • cd Ganti Direktori – ubah ke direktori lain.
  • mkdir Buat Direktori - buat direktori baru.
  • touch Buat File - buat file baru

Ingat, Terminal (Mac) dan CMD (Windows) keduanya adalah baris perintah shell. Perintah shell yang terkait dengan Git dapat dilakukan melalui keduanya.

Ketika Anda membuka Terminal, Silahkan masuk ke direktori dimana file project akan dikerjakan.

Konfirmasi lokasi Anda

pwd
/Users/you

Buat folder baru bernama belajar-git

mkdir belajar-git

Tampilkan direktori

ls

Anda akan melihat folder belajar-git ketika mengeksekusi perintah ls . Tentu saja Anda juga bisa membuat folder melalui Finder di Mac atau Explorer di Windows. Tetapi ini perintah shell yang berguna juga untuk diketahui, karena hampir semua aktifitas kita akan menggunakan perintah shell.

Pindah ke direktori yang baru saja dibuat

cd belajar-git

Oke, sekarang Anda berada di folder belajar-git . Dari sini, kita akan mulai menggunakan perintah Git. Ada banyak sekali dalam perintah Git, tetapi kita hanya perlu tau beberapa untuk memulai.

Referensi perintah dasar Git

  • git config - Konfigurasi Git
  • git init - Inisialisasi repositori Git
  • git status - Periksa status repositori Git
  • git add - Menandai file agar dapat dilacak Git
  • git commit - Menyimpan file yang ditandai di dalam Git
  • git push - Unggah file ke repositori online
  • git pull - Unduh file dari repositori online
  • git help - Untuk melihat bantuan perintah Git

Hal pertama yang sebaiknya Anda lakukan ketika menggunakan Git adalah menetapkan username dan email anda. Ini penting, karena setiap commit pada Git menggunakan informasi ini, dan itu dituliskan dan tidak dapat diganti ke dalam commit yang Anda buat:

Konfigurasikan akun global Git Anda.

git config --global user.name "Firstname Lastname"
git config --global user.email username@email.com

Inisialisasi repositori Git.

git init

Initialized empty Git repository in /Users/you/belajar-git/.git/

Okey! Sekarang Anda memiliki repo Git kosong di komputer lokal Anda.

Hubungkan direktori lokal dengan repositori yang Anda buat di github.com. Ada 2 cara untuk menghubungkan nya, yaitu melalui HTTPS dan SSH. Apa bedanya?

Kalau menggunakan HTTPS, maka kita akan diminta password setiap kali melakukan push ( upload ). Sedangkan jika menggunakan SSH, kita tidak akan diminta password. Tapi, kita harus melakukan konfigurasi SSH Key terlebih dahulu. Namun kali ini kita akan gunakan HTTPS dulu saja ya :).

git remote add origin https://github.com/username/belajar-git.git

Tidak ada respon di Terminal, tetapi ini berhasil. Sekarang kita akan membuat file pada direktori belajar-git. Dalam hal ini kita akan membuat file python dan readme. Ketik perintah berikut untuk membuat file :

touch hellogit.py

Edit file menggunakan editor nano

nano hellogit.py

Lalu tambahkan kode berikut ini dalam file hellogit.py :

def my_function():
  print("Hello Github!")

Simpan menggunakan perintah CTRL + o lalu CTRL + x

Dan buat 1 file lagi bernama README.md

echo "# belajar-git" >> README.md

Periksa status repositori lokal Anda.

git status
On branch master
Initial commit

Untracked files:
(use "git add ..." to include in what will be committed)

  README.md
  hellogit.py

nothing added to commit but untracked files present (use "git add" to track)

Oke, jadi sekarang Git tahu bahwa ada dua file dalam direktori, tetapi belum ditandai dan belum disimpan di version control ( Git ). Kondisi ini disebut Modified yang ditandai dengan warna merah. Git memiliki tiga keadaan utama dimana file Anda dapat masuk ke dalamnya yaitu: modified, staged dan committed.

  • Modified adalah kondisi dimana Anda telah me revisi file, namun belum di tandai dan disimpan ke dalam Git.
  • Staged adalah kondisi dimana file revisi sudah ditandai, tetapi belum disimpan di dalam Git.
  • Committed kondisi dimana file revisi sudah disimpan dengan aman di dalam Git.

Sekarang kita akan menandai ( staged ) SEMUA file ke dalam Git.

git add .

CATATAN: Gunakan git add . untuk menandai ke semua file pada saat pertama kali saja. Selanjutnya bisa menggunakan git add <file> atau git add <file1> <file2> . Ini untuk menghindari file yang tidak perlu, jadi ikutan di tandai ( staged ).

Coba cek lagi statusnya dengan perintah git status -s ( tambahkan argumen -s untuk menyederhanakan tampilan status )

A  README.md
A  hellogit.py

Jadi, apa yang terjadi? File berwarna merah sekarang menjadi hijau. Berarti kita sudah mengubah kondisi dari modified ke staged.

Simpan ( Commit ) file ke cabang ( branch ) master di dalam Git.

git commit -m "Initial Commit"

CATATAN: Gunakan pesan commit yang informatif dan mewakili apa yang sudah kamu ubah.

[master (root-commit)] Initial
  2 files changed, 3 insertions(+)

  create mode README.md
  create mode hellogit.py

Dengan perintah ini, saya melakukan commit file, termasuk pesan (-m), isi pesan ("Initial Commit"). Segala sesuatu di baris ini adalah wajib.

Push (upload) file ke dalam repositori Git di github.com. Perintah ini akan mengupload semua file lokal Anda ke repository Github.

git push -u origin master

Terminal akan meminta Anda untuk memasukkan nama pengguna dan kata sandi GitHub Anda. Saat Anda mengetikkan kata sandi, itu mungkin tidak menunjukkan bahwa Anda telah mengetik apa pun, tetapi sedang dimasukkan. Lalu enter.

Coba refresh halaman GitHub Anda. Sukses! Semua file Anda sekarang di-host di Github.com!

Okey, sampai dengan tahap ini, berarti kita sudah mempunyai repositori lokal dan online di Github.

Selanjutnya kita akan coba revisi file yang sudah dibuat. Edit file hellogit.py:

nano hellogit.py

tambahkan kode

def my_function():
  print("Ini adalah fungsi pertama")

def my_function2():
  print("Ini adalah fungsi kedua")

CATATAN: Anda juga bisa menggunakan editor lain seperti notepad untuk mengedit file

Kita akan melihat hasil perubahan file yang dilakukan

git diff

Anda bisa melihat bahwa tulisan dengan tanda + berwarna hijau adalah kode yang ditambahkan. Sedangkan - berwarna merah adalah kode yang kita hapus/ganti. Perintah diff ini berguna untuk melihat apa saja yang sudah kita ubah di dalam file.

Kemudian jika pekerjaan Anda hanya sampai dengan disini, maka bisa langsung menandai file ( staged ).

git add hellogit.py

Setelah menandai file ( staged ) ternyata Anda ingin melakukan perubahan lagi pada file, maka dalam kondisi ini masih bisa di lakukan sebelum melakukan pemyimpanan ( commit ). Coba edit lagi isi file:

nano hellogit.py

def my_function():
  print("Ini adalah fungsi pertama")

def my_function2():
  print("Ini adalah fungsi kedua")

def my_function3():
  print("Ini adalah fungsi ketiga")

Lalu Anda bisa menandai lagi ( staged ) sekaligus menyimpan file ke dalam Git ( commit ) dengan menambahkan perintah -a ( menandai semua file ).

git commit -am "Menambahkan fungsi"

Kemudian Push ( upload ) file ke repositori Github.

git push -u origin master

Lihat log atau aktifitas file yang di simpan ( commit ) di dalam Git

git log atau git log --oneline untuk melihat log yang lebih pendek.

Maka akan muncul aktifitas commit yang kita lakukan. Perlu diketahui bahwa, setiap commit yang di lakukan, Git akan melakukan checksum yang disebut dengan SHA-1 hash. Ini adalah kumpulan kata sepanjang 40 karakter dari karakter heksadesimal (0-9 dan a-f) dan dihitung berdasarkan isi dari sebuah file atau struktur direktori dalam Git. Sebuah SHA-1 hash nampak seperti berikut:

cda65e7f4a313fb4c1f2d83e36c4a9883b6dc3fb

Untuk melihat perubahan pada file yang sudah di simpan ( commit ), gunakan perintah show <hash> ( Cukup masukkan 4 karakter pertama ) .

git show cda6

Lalu bagaimana jika ingin membatalkan file yang sudah terlajur di commit? sedangkan Anda ingin menggunakan baris kode pada file yang di commit sebelumnya.

git reset HEADˆ atau git reset <hash>

Pada tahap ini kita sudah memahami dasar penggunaan perintah Git, walaupun masih banyak perintah Git lainnya yang belum dicoba. Namun, untuk pengenalan awal ini sudah cukup untuk mengelola sebuah project.

Kesimpulan

Dengan menggunakan perangkat lunak pengontrol versi ( VCS - Version Control System ) kita dapat memanage project secara komprehensif dan terukur. Semua kegiatan yang kita lakukan dari mulai menambahkan, mengedit, me-review kode, mengupload file dapat ditangani dengan baik menggunakan Git.

Share on Twitter | Discuss on Twitter

Stay in touch

Like the posts you see here? Sign up to get notified about new ones.