Rebasing
Rebasing memungkinkan Anda memasukkan perubahan dari satu cabang ke cabang lain dengan memodifikasi riwayat komit. Itu memutar ulang komit dari cabang sumber ke cabang target. Ini menghasilkan riwayat komit yang lebih bersih dan lebih linier.
Contoh: Katakanlah Anda memiliki cabang fitur yang dipanggil feature-branch
dan Anda ingin memasukkan perubahan terbaru dari main
cabang tersebut. Anda dapat menggunakan perintah berikut:
git checkout feature-branch
git rebase main
Ini akan menerapkan komit dari main
cabang ke feature-branch
. Setiap konflik perlu diselesaikan selama proses rebase.
Stashing
Stashing memungkinkan Anda untuk menyimpan perubahan Anda saat ini, yang belum siap untuk dilakukan, dan untuk sementara kembali ke direktori kerja yang bersih. Ini berguna saat Anda perlu beralih ke cabang lain atau mengerjakan fitur lain tanpa melakukan perubahan yang sedang Anda kerjakan.
Contoh: Katakanlah Anda sedang mengerjakan cabang fitur dan Anda telah membuat beberapa perubahan, tetapi Anda perlu beralih ke cabang lain. Anda dapat menggunakan perintah berikut untuk menyimpan perubahan Anda:
git stash
setelah beralih ke cabang baru, Anda kemudian dapat menerapkan perubahan yang disimpan menggunakan:
git stash apply
Git Hooks
Git Hooks
adalah skrip yang dipicu oleh peristiwa Git tertentu, seperti pre-commit, post-commit, pre-push, dll. Skrip ini memungkinkan Anda mengotomatiskan tindakan tertentu atau menerapkan aturan tertentu dalam alur kerja Anda.
Contoh: Misalkan Anda ingin menjalankan linter pada kode Anda sebelum melakukan. Anda dapat membuat skrip hook pre-commit yang memicu linter dan mencegah komit jika ada kesalahan linting.
Git Submodule
Git Submodule
memungkinkan Anda untuk memasukkan repositori Git lain sebagai subdirektori di dalam repositori utama Anda. Ini berguna ketika Anda memiliki proyek yang bergantung pada pustaka atau komponen eksternal.
Contoh: Anda memiliki proyek yang membutuhkan pustaka tertentu. Alih-alih menduplikasi kode perpustakaan di repositori Anda, Anda bisa menambahkannya sebagai submodule. Dengan cara ini, Anda dapat memisahkan kode perpustakaan dan memperbaruinya dengan mudah saat diperlukan.
Git Revert and Git Reset
Git Revert
membatalkan komit sebelumnya dengan membuat komit baru yang membatalkan perubahan yang dilakukan pada komit asli. Git Reset
, di sisi lain, memungkinkan Anda untuk memindahkan penunjuk cabang ke komit yang berbeda, secara efektif membuang komit dari riwayat komit.
Contoh: Jika Anda ingin membatalkan komit terakhir, Anda dapat menggunakan git revert HEAD
untuk membuat komit baru yang membatalkan perubahan yang dilakukan pada komit terakhir. Jika Anda ingin membuang komit terakhir sepenuhnya, Anda dapat menggunakan git reset HEAD~1
untuk memindahkan pointer cabang kembali dengan satu komit.
Konsep lanjutan di Git ini memberikan kemampuan yang kuat untuk mengelola repositori Anda secara efektif. Memahami cara menggunakannya dan kapan menerapkannya akan sangat meningkatkan alur kerja Git dan manajemen proyek Anda.