30 Pertanyaan & Jawaban Wawancara Git Teratas yang Perlu Anda Ketahui di 2022

Diterbitkan: 2021-01-04

Git semakin populer. Pengembang terus berupaya merilis versi aplikasi non-beta yang lebih baru untuk memperbaiki bug atau meningkatkan fungsinya. Git berfungsi dengan bertindak sebagai kontrol versi di mana semua perubahan disimpan dalam satu repositori pusat.

Setiap pengembang dalam tim dapat melihat versi, membuat perubahan, lalu mengunggahnya. Ini juga bekerja sangat baik untuk orang yang bekerja dalam tim jarak jauh atau bekerja dari rumah. Git tidak hanya digunakan oleh pengembang. Bahkan non-pengembang dalam tim dapat menggunakannya untuk mendapatkan versi terbaru atau versi aplikasi tertentu dan menggunakannya untuk pengujian atau untuk pekerjaan lain.

Di mana Git adalah alat baris perintah, Git Hub adalah pusatnya, tempat pemrogram menyimpan proyek mereka dan berkomunikasi dengan tim.

Oleh karena itu, memiliki pengetahuan tentang Git sangat dibutuhkan, dan dengan meningkatnya permintaan, kami telah membentuk satu set Pertanyaan Wawancara Git yang akan membantu Anda mendapatkan pekerjaan. Untuk membuatnya lebih mudah dipahami, kami akan membagi Pertanyaan Wawancara GitHub menjadi tiga bagian – Pemula, Menengah, dan Lanjutan.

Daftar isi

Pertanyaan Wawancara Git Tingkat Dasar

Q.1) Jelaskan perbedaan antara SVN dan Git

  • SVN adalah alat kontrol versi terpusat milik generasi kedua, bertentangan dengan Git, yang merupakan alat kontrol versi terdesentralisasi milik generasi ketiga.
  • Di SVN, repositori sisi server menyimpan riwayat versi. Di Git, Anda dapat menyalin seluruh repositori di PC Anda.
  • Di SVN, Anda dapat melakukan hanya saat Anda online, tidak seperti Git di mana Anda dapat melakukan bahkan saat offline.
  • Operasi tarik dan dorong lebih lambat di SVN dibandingkan dengan Git yang lebih cepat.
  • Di SVN, pekerjaan Anda tidak dibagikan sampai Anda melakukannya, tidak seperti Git, yang dibagikan secara otomatis.

Q.2) Apa itu Git?

Git memungkinkan pengembang dan anggota tim untuk melacak perubahan yang dibuat oleh siapa pun. Ini juga memungkinkan Anda kembali ke versi yang lebih lama. Ini adalah sistem Kontrol Versi Terdistribusi yang membantu tim mengetahui siapa yang membuat perubahan dan pada tanggal dan waktu apa. Ini memiliki keunggulan tersendiri dibandingkan Sistem Kontrol Versi lainnya.

Manfaat terbesar Git adalah tidak bergantung pada server pusat untuk menyimpan semua versi proyek. Pengembang dapat membuat klon (salinan) dari repositori di sistem mereka sendiri, yang menunjukkan seluruh riwayat. Ini khusus membantu ketika ada pemadaman yang parah. Di Git, ada repositori cloud pusat di mana programmer atau anggota tim dapat melakukan perubahan dan berbagi dengan tim mereka.

Q.3) Apa perbedaan antara GitHub dan Git?

Layanan hosting repositori Git disebut GitHub. Selain itu, ia memiliki fitur sendiri seperti menawarkan antarmuka grafis berbasis web. Lebih lanjut, GitHub juga memberikan akses selain berfungsi sebagai alat manajemen untuk suatu proyek.

Di sisi lain, Git adalah sistem kontrol versi yang bersifat terdistribusi. Ini terutama digunakan untuk melacak setiap perubahan yang dibuat di aplikasi non-beta. Menawarkan kecepatan, dukungan, dan integritas data. Pengembang dan anggota tim lainnya dapat melihat siapa yang membuat perubahan apa dan pada tanggal berapa.

Q.4) Apa keuntungan menggunakan Sistem Kontrol Versi?

Ini membantu tim dan anggotanya karena mereka dapat bekerja kapan saja karena Sistem Kontrol Versi memberi mereka fleksibilitas untuk menggabungkan modifikasi yang mereka buat dalam versi umum tanpa kerumitan.

Riwayat menunjukkan semua versi lama dan variannya, memungkinkan anggota tim untuk kembali jika diperlukan. Anggota tim juga memiliki snapshot dari keseluruhan proyek.

Anggota tim perlu berkomentar ketika mereka membuat modifikasi apa pun, yang membantu orang lain untuk memahami perubahan apa yang sebenarnya membuat proyek lebih terorganisir. Tidak ada yang harus menunggu penjelasan. Anggota tim tahu persis siapa yang telah mengubah versi dan mengapa.

Jika ada pemadaman server yang tidak menguntungkan, VCS terdistribusi seperti Git memungkinkan Anda memiliki riwayat lengkap proyek Anda karena dapat diunduh di desktop Anda.

Q.5) Bahasa apa yang digunakan di Git?

Bahasa yang digunakan Git adalah bahasa 'C' karena kecepatan yang dibutuhkan GIT dapat dipenuhi oleh bahasa 'C' karena mengurangi waktu proses, tidak seperti bahasa tingkat tinggi lainnya.

Q.6) Beri tahu kami beberapa fungsi hosting repositori Git

  • Github
  • Gitlab
  • SumberForge
  • Bitbucket
  • GitEnterprise

Q.7) Bagaimana Anda berkomitmen pada Git?

Untuk menulis pesan komit, Anda perlu menulis perintah “git commit -a.”

The -a pada baris perintah memerintahkan git untuk mengkomit konten terbaru dari semua file terlacak yang telah diubah. Anda dapat menggunakan perintah “git add <file>” sebelum git commit -a jika file baru harus di-commit untuk pertama kalinya.

Q.8) Bagaimana Anda bisa memperbaiki komit yang rusak?

Anda dapat menggunakan perintah “git commit –amend” untuk memperbaiki komit yang rusak. Dengan menjalankan perintah ini, itu memperbaiki pesan komit yang rusak di editor.

Baca: Pertanyaan Wawancara Nagios Teratas

Q.9) Apa yang dimaksud dengan repositori di Git?

Ini adalah tempat di mana Git menyimpan semua file. Git memiliki kemampuan untuk menyimpan file baik di repositori jarak jauh maupun lokal.

Q.10) Bagaimana Anda bisa membuat repositori?

Membuat repositori sederhana di Git. Anda perlu membuat direktori untuk proyek jika belum selesai. Anda kemudian perlu menjalankan perintah "git init". Perintah ini membuat direktori git di direktori proyek.

Q.11) Jelaskan 'repositori telanjang' di Git?

Repositori Git telanjang umumnya digunakan sebagai Repositori Jarak Jauh yang Anda bagikan dengan anggota tim Anda atau orang lain. Tidak ada pohon kerja di dalamnya karena tidak ada pekerjaan yang dilakukan di dalam repositori jarak jauh. Di file lain, tidak ada file di dalamnya, yang akan Anda edit. Sebaliknya, direktori kerja berisi subdirektori .git dengan semua riwayat versi dan juga pohon kerja.

Q.12) Apa yang Anda maksud dengan 'konflik' di git?

Biasanya, Git mengelola semua penggabungan dengan menggunakan fitur penggabungan otomatisnya. Tapi mungkin ada konflik jika dua cabang terpisah mendapat suntingan di baris file yang sama persis. Itu juga bisa terjadi ketika file dihapus dari satu cabang, tetapi telah diedit di cabang lain. Ini pasti terjadi ketika Anda bekerja dalam lingkungan tim.

Q.13) Apa itu git is-tree?

'git is-tree' mewakili objek pohon yang terdiri dari mode dan nama item serta nilai SHA-1 dari pohon atau gumpalan.

Pertanyaan Wawancara Git Tingkat Menengah

Q. 14) Bagaimana Anda menyelesaikan konflik jika muncul di Git?

Anda dapat menyelesaikan konflik di Git dengan cara berikut:

  1. Tentukan file mana yang menyebabkan munculnya konflik.
  2. Selesaikan konflik dengan membuat perubahan pada file tertentu.
  3. Tambahkan file-file ini lagi dengan perintah git add.
  4. Gunakan perintah git commit untuk mengkomit file.

Q.15) Jika komit sudah didorong dan dipublikasikan, bagaimana Anda mengembalikannya di Git?

Ada dua metode di mana Anda dapat melakukan ini, tergantung pada situasinya:

  1. Anda dapat menghapusnya sepenuhnya atau memperbaiki file yang buruk di komit baru dan kemudian mendorongnya kembali ke repositori jarak jauh. Ini adalah metode yang paling umum digunakan untuk memperbaiki masalah ini. Setelah membuat perubahan yang relevan pada file, menggunakan perintah git commit -m “commit message”, Anda mengkomitnya ke repositori jarak jauh.
  2. Atau, Anda dapat membuat komit baru yang membatalkan semua modifikasi yang dibuat pada komit buruk. Anda dapat melakukan ini dengan menggunakan perintah git revert <name of bad commit>

Baca: Pertanyaan & Jawaban Wawancara Agile

Q.16) Apa itu SubGit?

Ini adalah alat yang memungkinkan migrasi dari SVN ke Fit. Ini menciptakan cermin Git yang dapat ditulis dari repositori Subversion lokal atau jarak jauh dan memanfaatkan Subversion dan Git selama Anda suka. Anda dapat menggunakan SubGit untuk membuat mirror Git-SVN dua arah dari repositori Subversion yang ada. Anda juga dapat dengan cepat melakukan impor satu kali dari Subversion ke Git.

Q.17) Apa perbedaan antara perintah git pull dan perintah git fetch?

Perintah git pull mengambil semua perubahan baru atau melakukan dari cabang yang tepat dari repositori pusat Anda dan memperbarui cabang tujuan Anda di repositori lokal Anda.

Perintah git fetch digunakan untuk sesuatu yang serupa tetapi memiliki sedikit perbedaan. Saat Anda mengambil, itu mengambil semua komit baru dari cabang yang tepat dan menyimpannya di cabang baru di repositori lokal Anda. Jika Anda ingin mencerminkan perubahan ini di cabang tujuan Anda, Anda harus memanggil git merge.

Jadi, Git pull = git fetch + git merge.

Q.18) Apa itu 'index' atau 'staging area' di Git?

Area perantara di mana perubahan dapat diformat atau ditinjau sebelum dilakukan disebut area indeks atau staging di Git.

Q.19) Apa itu git stash? Bagaimana Anda menerapkannya?

Ada kalanya suatu pekerjaan harus dihentikan sementara karena Anda harus mengerjakan beberapa cabang lain sebagai prioritas. Pekerjaan yang setengah jadi tidak dapat dilakukan karena tidak dalam tahap yang lengkap, tetapi Anda ingin kembali dan mengerjakannya dalam waktu singkat. Untuk mengatasi masalah ini, git slash menawarkan bantuan.

Ini menyimpannya dalam tumpukan perubahan yang belum selesai yang dapat Anda selesaikan dan komit nanti. Untuk kembali ke pekerjaan ini, yang perlu Anda lakukan hanyalah memanggil git stash untuk menerapkan perintah. Ini mengambil Anda pekerjaan Anda dari tempat Anda meninggalkannya ke direktori kerja Anda.

Q. 20) Apa perbedaan git diff dengan 'git status'?

'git diff' hampir mirip dengan 'git status'; satu-satunya perbedaan yang mereka berdua miliki adalah bahwa yang pertama mengungkapkan perbedaan antara berbagai komitmen. '

Q.21) Apa perbedaan 'git remote' dengan 'git clone'?

Jika Anda ingin membuat entri di konfigurasi git Anda yang menyebutkan nama untuk URL tertentu, Anda menggunakan 'git remote add'. Di sisi lain, 'git clone' membuat repositori git baru dengan menyalin yang sudah ada yang terletak di URL.

Baca: Pertanyaan dan Jawaban Wawancara React Teratas

Q.22) Jelaskan strategi percabangan

Setiap perusahaan memiliki strategi percabangan masing-masing. Berikut adalah beberapa yang populer:

  • Percabangan fitur – Model cabang fitur menyimpan semua perubahan yang dibuat untuk fitur tertentu di dalam cabang. Hanya setelah pengujian menyeluruh, cabang ini digabungkan dengan masternya.
  • Percabangan rilis – Setelah cabang pengembangan telah mencapai titik di mana ia siap untuk dirilis; Anda dapat mengkloning atau menyalinnya untuk membentuk cabang rilis. Setelah kloning, tidak ada fitur baru yang ditambahkan ke dalamnya. Anda hanya dapat memperbaiki bug, mendokumentasikannya, atau melakukan aktivitas yang terkait dengan peningkatannya untuk rilis. Setelah diuji, ia akan digabungkan dengan masternya dan mendapatkan nomor versi. Selain itu, itu harus digabungkan kembali ke cabang pengembangan, yang mungkin telah bergerak maju sejak rilis dibuat.
  • Percabangan tugas – Dalam model ini, setiap tugas dilakukan pada cabang individualnya dengan kunci tugas dipegang di nama cabang. Jelas untuk melihat kode mana yang melakukan tugas mana dengan mencari kunci tugas di nama cabang.

Q.23) Jelaskan alur kerja Gitflow?

Gitflow menyimpan sejarah proyek tertentu dengan menggunakan dua cabang paralel yang sudah berjalan lama yang dikuasai dan dikembangkan:

  • Master - Ini siap untuk pergi cabang. Semuanya diuji dan disetujui di cabang ini.
  • Perbaikan terbaru – cabang ini digunakan untuk menambal rilis produksi dengan cepat. Mereka hampir seperti cabang fitur Anda dan cabang rilis; selain itu, mereka didasarkan pada master alih-alih mengembangkan.
  • Kembangkan – Semua cabang fitur digabungkan ke dalam cabang ini. Ini adalah orang-orang yang mengalami pengujian. Hanya setelah pengujian yang ketat, ia bergabung dengan cabang master.
  • Fitur – setiap fitur baru harus duduk di cabangnya sendiri, yang kemudian didorong ke cabang induknya, yang merupakan cabang pengembangan.

Q. 24) Bagaimana cara mengetahui apakah sebuah cabang digabung menjadi master?

Perintah berikut membantu Anda mengetahui apakah mereka digabungkan atau tidak:

git branch –merged – Ini mencantumkan semua cabang yang telah digabungkan ke dalam cabang saat ini. Anda kemudian dapat melihat apakah itu ada atau tidak.

git branch –no-merged – Atau, Anda dapat menggunakan perintah ini untuk memeriksa semua cabang yang tidak digabungkan dengan cabang masternya.

Q.25) Bagaimana Anda bisa menghapus file dari git tanpa menghapusnya dari sistem file Anda?

Anda harus berhati-hati saat menambahkan file ke Git agar tidak berakhir dengan menambahkan file yang salah. Perintah git rm akan menghapusnya dari keduanya – area pementasan dan sistem file, jadi Anda harus menggunakan perintah git reset.

Anda bisa menggunakan git reset filename atau echo filename >> .gitingore

Q.26) Jelaskan rebasing dan merge di Git?

Anda menggunakan perintah rebase untuk mengintegrasikan pengeditan dari satu cabang ke cabang lainnya. Ini digunakan sebagai alternatif untuk perintah gabungan. Ini adalah alternatif dari perintah "gabung". Ini berbeda dari penggabungan karena menulis ulang riwayat komit untuk memberikan suksesi komit yang lurus dan teratur.

Pertanyaan Wawancara Git tingkat lanjut:

Q.27) Bagaimana Anda menekan komit N terakhir menjadi satu komit?

Ada dua cara untuk menekan komit N terakhir menjadi satu komit yaitu:

Jika Anda ingin membuat pesan komit baru dari awal, Anda dapat menggunakan perintah berikut:

git reset –soft HEAD~N &&git commit

Jika Anda hanya ingin mengedit pesan komit baru dengan rangkaian pesan komit yang ada, maka Anda perlu mengambil pesan tersebut dan meneruskannya ke komit Git dengan menggunakan perintah:

git reset –soft HEAD~N &&git commit –edit -m”$(git log –format=%B –reverse .HEAD@{N} )”

Q.28) Apa saja langkah-langkah untuk mengintegrasikan Jenkins dengan Git?

Langkah1: Anda perlu mengklik dasbor Jenkins untuk mengelola tombol Jenkins.

Langkah 2: Klik tombol kelola plugin.

Langkah 3: Di Halaman Plugin, Anda harus memilih plugin GIT. Klik instal tanpa memulai ulang. Plugin diunduh secara otomatis, tergantung pada kecepatan Internet Anda.

Q.29) Jelaskan apa itu Git bagi dua, dan bagaimana Anda menggunakannya untuk mendapatkan sumber bug?

Menggunakan Git bagi dua, Anda dapat mengetahui komit mana yang menyebabkan bug dengan menggunakan pencarian biner. Perintah untuk Git bagi dua adalah git bagi dua <subcommand> <options>

algoritma pencarian biner, perintah ini menemukan komit mana yang menyebabkan bug di tempat pertama. Git bisect mengambil komit antara dua titik akhir tempat bug diperkenalkan. Anda perlu Anda dapat menentukan antara komitmen yang baik dan yang buruk. Itu terus menyaringnya, sampai komit yang tepat ditemukan.

Q.30) Jelaskan git reflog?

Perintah 'reflog' membantu melacak setiap pengeditan yang dilakukan pada referensi repositori. Itu menyimpan riwayat data cabang dan bahkan menyimpan tag untuk yang dibuat secara lokal atau di luar .

Perintah ini harus dilakukan di repositori yang memiliki cabang yang hilang. Dalam kasus situasi repositori jarak jauh, Anda perlu menjalankan perintah reflog pada sistem programmer yang memiliki cabang.

Dapatkan gelar Rekayasa Perangkat Lunak dari Universitas top dunia. Dapatkan Program PG Eksekutif, Program Sertifikat Tingkat Lanjut, atau Program Magister untuk mempercepat karier Anda.

Kesimpulan

Kami berharap bahwa Pertanyaan Wawancara Git Hub membantu Anda mendapatkan pekerjaan impian Anda. Ini adalah pertanyaan Git yang paling sering ditanyakan oleh pewawancara. Kami berharap yang terbaik untuk wawancara Anda!

Persiapkan Karir Masa Depan

Daftar Sekarang untuk Magister Rekayasa Perangkat Lunak