Mengelola File Dengan Git

Diagram Three Tree

  • Working directory = Area saat kita mengedit atau menambahkan file
  • Staging index = Area persiapan untuk dipindahkan ke repository
  • Repository = Area final setelah melakukan perubahan

Install git

sudo apt install git

Menjadikan sebuah direktori dikelola oleh git sebagai repositori

git init <path directory>

Cara Mengubah Nama Branch Menjadi main

Jika setelah git init ternyata nama branch Anda adalah master dan Anda ingin mengubahnya menjadi main, ada dua kondisi:

Kondisi A: Baru Saja git init (Belum ada Commit)

Jika Anda belum melakukan commit pertama, gunakan perintah ini:

Bash

git checkout -b main

Artinya: Buat branch baru bernama main dan langsung pindah ke sana.

Kondisi B: Sudah Ada Commit (Rename Branch)

Jika sudah ada history/commit dan Anda ingin mengubah nama master menjadi main:

Bash

git branch -m master main

Parameter -m berarti Move/Rename.

Konfigurasi identitas user pengelola git

Git config yang bersifat current repository/direcory (yang dikelola saat ini)

Ini hanya berlaku di repo tempat kamu menjalankan perintah ini. Kalau kamu buka repo lain, Git bisa pakai konfigurasi yang berbeda.

Konfigurasi username

git config user.name "nama_username"

Konfigurasi user email

git config user.mail "[email protected]

Git config yang bersifat global

Ini disimpan di ~/.gitconfig, dan berlaku ke semua repo kecuali kalau repo tersebut override pakai perintah git config.

Konfigurasi username

git config --global user.name "nama_username"

Konfigurasi user email

git config --global user.mail "[email protected]

Git remote

Menambahkan remote repository menggunakan SSH

gitt remote add nama-remote [email protected]:nama_username/nama_repository.git

Pastikan sudah menambahkan di file config ssh

Host github.com
HostName github.com
User git
IdentityFile ~/.ssh/namakey
IdentitiesOnly yes

Melihat daftar remote repository

git remote show  

Workflow

Saat kita menambahkan/menghapus/memodifikasi sebuah file untuk menyimpannya perubahan secara permanen kita harus terlebih dahulu menambahkan perubahan nya kedalam Staging Index dengan cara

git add namafile

Atau, kita sudah menambahkan/memodifikasi file yang sangat banyak dan ingin semuanya dipindahkan ke Staging Index bisa dilakukan dengan cara

git add .

Setelah file yang akan kita simpan dipindahkan ke area Staging Index selanjutnya untuk menyimpan secara permanen keseluruhan perubahan kita harus menyimpannya ke repositori dengan cara

git commit -m "pesan perubahan"

Contoh :

git clone https://github.com/frizanwr/dotfiles.git

Untuk cara detailnya bisa dilihat di artikel Berikut

Git push

Jika kita sudah selesai mengerjakan sesuatu untuk menyimpannya ke repositori gunakan perintah

git push -u nama-remote nama-branch

Memastikan repository lokal sudah terbaru

git pull

Menjadikan visual studio code sebagai text editor default git

git config --global core.editor "code --wait"

Menjadikan visual studio code sebagai diff tool default git

git config --global diff.tool "default.difftool"
git config --global difftool.default-difftool.cmd "code --wait --diff \$LOCAL \$REMOTE"

Cloning git

Clone git public repository

git clone <url>

Cloning git private repository

Untuk mengclone private repositoy kita gunakan ssh.

[email protected]:username/nama-repo.git