Git Cherry Pick dan Git Patch
- Categories:
- git
Dalam pengembangan perangkat lunak dan menggunakan git sebagai version control, ada kalanya kita memasang git commit tertentu, misal sebagai hotfix.
Perintah git cherry pick adalah perintah untuk memasang suatu commit dalam repository yang sama dan berbeda git branch. Sedangkan git patch adalah perintah untuk ingin memasang git commit dari berbeda repository atau ingin export git commit dalam bentuk file untuk kemudian dikirim via email.
Sederhananya git cheery pick digunakan jika repositori yang sama dan beda git branch. Sedangkan jika ingin export git commit atau pasang git commit beda repositori menggunakan git patch.
Dalam melakukan git cherry-pick
, cukup dengan menjalankan perintah berikut:
Sedangkan dalam git patch, perlu beberapa langkah yaitu membuat patch, verifikasi patch dan memasang patch.
Membuat Patch
Membuat patch bisa dengan menggunakan git format-patch
.
Berdasarkan dokumentasi git format-patch, -1
merupakan jumlah git commit dari paling atas. Jika ingin sebanyak lima commit, maka diganti dengan -5
.
Contoh file yang dibuat git format-patch
.
Verifikasi Patch
Menjalankan git apply --stat
akan menampilkan tampilan seperti git diff
.
Menjalankan git apply --check
akan melakukan verifikasi apakah patch bisa dipasang, berikut tampilan jika git patch tidak bisa dipasang.
Memasang Patch
Ada dua cara memasang patch, dengan git apply dan git am. Perbedaannya adalah git apply
akan membuat commit baru sedangkan git am
akan memasang patch apa adanya.
Referensi
- git cherry-pick
- git patch
- git apply
- git am
- Generate a git patch for a specific commit
- Git: How to create and apply patches
- Tags:
- #git
Recent Posts
DevSecOps
My Notes about DevSecOps
AWS Secrets Manager
Explanation about AWS Secrets Manager with example code.
Envelope Encryption
Envelope encryption is the practice of encrypting plaintext data with a data key, and then encrypting the data key under another key.
Tutorial - "su username vs su - username" - A Security Perspective
The main difference between `su username` and `su - username` lies in the environment variables that are loaded when switching to the specified user.
Subdomain Hijacking
My dormant subdomain was recently hijacked, redirecting it to a online gamble registration page.