Git Checkout

Perintah git checkout dapat digunakan untuk

  • Membatalkan modified files.
  • Kembali ke posisi snapshot tertentu pada branch.
  • Mengganti atau pindah branch.

Note: git checkout bersifat read only, tidak dapat mengubah snapshot yang sudah commit sebelumnya.

Untuk keperluan tutorial ini, tambahkan satu file baru, misalnya app.js, isi dengan code sederhana misalnya deklarasi variable. Kemudian commit ke dalam repository.

git add app.js
git commit  -m "add javascript"

Membatalkan Modified Files

Lakukan perubahan pada file index.html, main.css dan app.js, kemudian periksa dengan perintah git status.

$ git status
On branch main
Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git restore <file>..." to discard changes in working directory)
        modified:   app.js
        modified:   index.html
        modified:   main.css

no changes added to commit (use "git add" and/or "git commit -a")

Misalnya, kita ingin membatalkan perubahan pada app.js dengan perintah git checkout.

$ git checkout app.js

Jika kita periksa file app.js, perubahan terakhir akan dibatalkan.

Jika ingin membatalkan semua perubahan pada semua file, gunakan perintah

git checkout .

# perintah diatas dan dibawah sama.

git checkout *

Jika proses membatalkan perubahan berhasil, ketika kita check dengan perintah git status, maka log akan menunjukan informasi working tree clean.

$ git status
On branch main
nothing to commit, working tree clean

Kembali ke titik snapshot tertentu pada branch

Gunakan perintah git log –oneline untuk melihat snapshot dari repository.

$ git log --oneline
728a836 (HEAD -> main) add javascript
7e28c39 add paragraph
c38b6b5 adding h1
7dcdd7e adding css
ed85391 layout dasar

Misalnya kita ingin kembali ke snapshot commit id c38b6b5

$ git checkout c38b6b5
Note: switching to 'c38b6b5'.

You are in 'detached HEAD' state. You can look around, make experimental    
changes and commit them, and you can discard any commits you make in this   
state without impacting any branches by switching back to a branch.

If you want to create a new branch to retain commits you create, you may    
do so (now or later) by using -c with the switch command. Example:

  git switch -c <new-branch-name>

Or undo this operation with:

  git switch -

Turn off this advice by setting config variable advice.detachedHead to false

HEAD is now at c38b6b5 adding h1

Jika Anda periksa file app.js sudah hilang dari direktory project. File penambahan element paragraph pad index.html juga akan dibatalkan.

Hal ini terjadi karena kita sudah kembali ke snapshot dimana file js dan paragraph ditambahkan.

JIka kita periksa history dengan peritah git log –oneline

$ git log --oneline
c38b6b5 (HEAD) adding h1
7dcdd7e adding css
ed85391 layout dasar

Dapat dilihat, sekarang posisi Pointer HEAD ada di commit c38b6b5.

Jika Anda ingin kembali ke snapshot dimana file js ditambahkan, gunakan perintah git checkout nama_branch.

Perhatian: nama_branch pada tutorial adalah main, bisa berbeda dengan nama branch yang Anda gunakan.

$ git checkout main
Previous HEAD position was c38b6b5 adding h1
Switched to branch 'main'

Jika diperiksa dengan perintah git log, maka posisi snapshot akan kembali dimana app.js ada dalam project.

$ git log --oneline
728a836 (HEAD -> main) add javascript
7e28c39 add paragraph
c38b6b5 adding h1
7dcdd7e adding css
ed85391 layout dasar
Sharing is caring:

Leave a Comment