46 câu hỏi phỏng vấn GIT hàng đầu và câu trả lời (2025)

Dưới đây là những câu hỏi và câu trả lời phỏng vấn Git dành cho cả người mới bắt đầu và ứng viên có kinh nghiệm để có được công việc mơ ước của mình.

Tải xuống PDF miễn phí: Câu hỏi phỏng vấn Git


1) GIT là gì?

GIT là hệ thống kiểm soát phiên bản phân tán và hệ thống quản lý mã nguồn (SCM) tập trung xử lý các dự án lớn và nhỏ một cách nhanh chóng và hiệu quả.


2) Kho lưu trữ trong GIT là gì?

Kho lưu trữ chứa một thư mục có tên .git, nơi git lưu giữ tất cả siêu dữ liệu của kho lưu trữ. Nội dung của thư mục .git là riêng tư đối với git.


3) Bạn có thể sử dụng lệnh nào để viết tin nhắn xác nhận?

Lệnh được sử dụng để viết thông báo cam kết là “git commit –a”. –a trên dòng lệnh hướng dẫn git cam kết nội dung mới của tất cả các tệp được theo dõi đã được sửa đổi. Bạn có thể sử dụng “git add ” trước lệnh git commit –a nếu các tệp mới cần được commit lần đầu tiên.


4) Sự khác biệt giữa GIT và SVN là gì?

Sự khác biệt giữa GIT và SVN là

a) Git ít được ưa chuộng để xử lý các tệp cực lớn hoặc các tệp nhị phân thường xuyên thay đổi trong khi SVN có thể xử lý nhiều dự án được lưu trữ trong cùng một kho lưu trữ.

b) GIT không hỗ trợ 'commit' trên nhiều nhánh hoặc thẻ. Subversion cho phép tạo thư mục ở bất kỳ vị trí nào trong bố cục kho lưu trữ.

c) Git không thể thay đổi, trong khi Subversion cho phép người xác nhận coi một thẻ như một nhánh và tạo nhiều bản sửa đổi dưới một thẻ gốc.


5) Lợi ích của việc sử dụng GIT là gì?

a) Dự phòng và sao chép dữ liệu

b) Tính khả dụng cao

c) Chỉ có một thư mục .git cho mỗi kho lưu trữ

d) Hiệu suất sử dụng đĩa và mạng cao hơn

e) Thân thiện trong hợp tác

f) Bất kỳ loại dự án nào cũng có thể sử dụng GIT


6) GIT sử dụng ngôn ngữ nào?

GIT rất nhanh và ngôn ngữ 'C' giúp thực hiện được điều này bằng cách giảm thiểu chi phí thời gian chạy liên quan đến các ngôn ngữ cao hơn.

Câu hỏi phỏng vấn Git
Câu hỏi phỏng vấn Git

7) Chức năng của 'GIT PUSH' trong GIT là gì?

'GIT PUSH' cập nhật các tham chiếu từ xa cùng với các đối tượng liên quan.


8) Tại sao GIT tốt hơn Subversion?

GIT là một hệ thống kiểm soát phiên bản mã nguồn mở; nó sẽ cho phép bạn chạy 'phiên bản' của một dự án, hiển thị những thay đổi đã được thực hiện đối với mã theo thời gian, nó cũng cho phép bạn giữ lại bản theo dõi nếu cần và hoàn tác những thay đổi đó. Nhiều nhà phát triển có thể kiểm tra và tải lên các thay đổi và sau đó mỗi thay đổi có thể được quy cho một nhà phát triển cụ thể.

Những câu hỏi và câu trả lời phỏng vấn Git hàng đầu
Những câu hỏi và câu trả lời phỏng vấn Git hàng đầu

9) “Staging Area” hoặc “Index” trong GIT là gì?

Trước khi hoàn tất việc commit, nó có thể được định dạng và xem lại trong một khu vực trung gian được gọi là 'Khu vực trung gian' hoặc 'Mục lục'.


10) GIT stash là gì?

GIT stash lấy trạng thái hiện tại của thư mục làm việc và chỉ mục và đưa vào ngăn xếp để sử dụng sau và trả lại cho bạn một thư mục làm việc sạch. Vì vậy, trong trường hợp bạn đang ở giữa một việc gì đó và cần chuyển sang công việc khác, đồng thời bạn không muốn mất các chỉnh sửa hiện tại của mình thì bạn có thể sử dụng GIT stash.


11) GIT stash drop là gì?

Khi bạn hoàn tất mục đã lưu trữ hoặc muốn xóa mục đó khỏi danh sách, hãy chạy lệnh git 'stash drop'. Theo mặc định, lệnh này sẽ xóa mục đã thêm vào cuối cùng và cũng có thể xóa một mục cụ thể nếu bạn đưa vào làm đối số.


12) Làm sao để biết trong GIT một nhánh đã được hợp nhất vào nhánh master?

Nhánh Git—đã hợp nhất liệt kê các nhánh đã được hợp nhất vào nhánh hiện tại

Nhánh Git—-không có danh sách các nhánh được hợp nhất chưa được hợp nhất


13) Chức năng của git clone là gì?

Lệnh git clone tạo một bản sao của kho lưu trữ Git hiện có. Để lấy bản sao của kho lưu trữ trung tâm, 'nhân bản' là cách phổ biến nhất mà các lập trình viên sử dụng.


14) Chức năng của 'git config' là gì?

Lệnh 'git config' là một cách thuận tiện để thiết lập các tùy chọn cấu hình cho cài đặt Git của bạn. Hành vi của kho lưu trữ, thông tin người dùng, tùy chọn, v.v. có thể được xác định thông qua lệnh này.


15) Đối tượng commit chứa những gì?

a) Một tập hợp các tập tin, biểu diễn trạng thái của một dự án tại một thời điểm nhất định

b) Tham chiếu đến các đối tượng cam kết cha

c) Tên SHAI, chuỗi 40 ký tự dùng để xác định duy nhất đối tượng cam kết.


16) Làm thế nào để tạo kho lưu trữ trong Git?

Trong Git, để tạo một kho lưu trữ, hãy tạo một thư mục cho dự án nếu nó không tồn tại, sau đó chạy lệnh “git init”. Bằng cách chạy lệnh này, thư mục .git sẽ được tạo trong thư mục dự án, thư mục không cần phải trống.


17) 'Head' trong git là gì và có thể tạo bao nhiêu head trong một kho lưu trữ?

'Head' chỉ đơn giản là tham chiếu đến một đối tượng commit. Trong mọi kho lưu trữ, có một head mặc định được gọi là "Master". Một kho lưu trữ có thể chứa bất kỳ số lượng head nào.


18) Mục đích của việc phân nhánh trong GIT là gì?

Mục đích của việc phân nhánh trong GIT là bạn có thể tạo nhánh của riêng mình và chuyển giữa các nhánh đó. Nó sẽ cho phép bạn chuyển đến công việc trước đó của mình mà vẫn giữ nguyên công việc gần đây.


19) Mô hình phân nhánh phổ biến trong GIT là gì?

Cách phổ biến để tạo nhánh trong GIT là duy trì một nhánh là “Main“

nhánh và tạo nhánh khác để triển khai các tính năng mới. Mẫu này đặc biệt hữu ích khi có nhiều nhà phát triển làm việc trên cùng một dự án.


20) Làm thế nào để đưa tính năng mới vào nhánh chính?

Để đưa một tính năng mới vào nhánh chính, bạn có thể sử dụng lệnh “git merge” hoặc “git pull command”.


21) 'Xung đột' trong git là gì?

'Xung đột' phát sinh khi commit cần được hợp nhất có một số thay đổi ở một nơi và commit hiện tại cũng có một thay đổi ở cùng một nơi. Git sẽ không thể dự đoán được thay đổi nào sẽ được ưu tiên.


22) Xung đột trong git có thể được giải quyết như thế nào?

Để giải quyết xung đột trong git, hãy chỉnh sửa các tệp để sửa các thay đổi xung đột và sau đó thêm các tệp đã giải quyết bằng cách chạy "git add" sau đó để cam kết hợp nhất đã sửa chữa, hãy chạy "git commit". Git nhớ rằng bạn đang ở giữa một hợp nhất, vì vậy nó đặt đúng các cha mẹ của cam kết.


23) Để xóa một nhánh, lệnh nào được sử dụng?

Sau khi nhánh phát triển của bạn được hợp nhất vào nhánh chính, bạn không cần

nhánh phát triển. Để xóa một nhánh, hãy sử dụng lệnh “git branch –d [head]”.


24) Có lựa chọn nào khác để hợp nhất trong git không?

“Rebasing” là một giải pháp thay thế cho việc hợp nhất trong git.


25) Cú pháp của “Rebasing” trong Git là gì?

Cú pháp được sử dụng cho rebase là “git rebase [new-commit] "


26) Sự khác nhau giữa 'git remote' và 'git clone' là gì?

'git remote add' chỉ tạo một mục trong git config của bạn để chỉ định tên cho một URL cụ thể. Trong khi đó, 'git clone' tạo một kho lưu trữ git mới bằng cách sao chép và lưu trữ hiện có tại URI.


27) Kiểm soát phiên bản GIT là gì?

Với sự trợ giúp của kiểm soát phiên bản GIT, bạn có thể theo dõi lịch sử của một tập hợp các tệp và bao gồm chức năng khôi phục tập hợp các tệp sang phiên bản khác. Mỗi phiên bản chụp ảnh nhanh hệ thống tệp tại một thời điểm nhất định. Một tập hợp các tệp và toàn bộ lịch sử của chúng được lưu trữ trong một kho lưu trữ.


28) Hãy kể tên một số ứng dụng GIT đồ họa tốt nhất cho LINUX?

Một số máy khách GIT tốt nhất cho LINUX là

a) Git Cola

b) Git-g

c) Git thông minh

d) Cười khúc khích

e) Giao diện người dùng Git

f) qGit


29) Subgit là gì? Tại sao nên sử dụng Subgit?

'Subgit' là một công cụ giúp di chuyển SVN sang Git một cách trơn tru, không căng thẳng. Subgit là giải pháp cho việc di chuyển toàn công ty từ SVN sang Git:

a) Nó tốt hơn nhiều so với git-svn

b) Không yêu cầu thay đổi cơ sở hạ tầng đã được đặt

c) Cho phép sử dụng tất cả các tính năng của git và tất cả các phiên bản phụ

d) Cung cấp trải nghiệm di cư thực sự không căng thẳng.


30) Chức năng của 'git diff' trong git là gì?

'git diff' hiển thị những thay đổi giữa các lần commit, commit và cây làm việc, v.v.


31) 'git status' được sử dụng để làm gì?

Vì 'Trạng thái Git' cho bạn thấy sự khác biệt giữa thư mục làm việc và chỉ mục, nên nó hữu ích trong việc hiểu git một cách toàn diện hơn.


32) Sự khác nhau giữa 'git diff' và 'git status' là gì?

'git diff' tương tự như 'git status', nhưng nó cho thấy sự khác biệt giữa các lần commit khác nhau cũng như giữa thư mục làm việc và chỉ mục.


33) Chức năng của 'git checkout' trong git là gì?

A 'kiểm tra git' Lệnh này được sử dụng để cập nhật các thư mục hoặc tệp cụ thể trong cây làm việc của bạn với các thư mục hoặc tệp từ nhánh khác mà không cần hợp nhất chúng trong toàn bộ nhánh.


34) Chức năng của 'git rm' là gì?

Để xóa tệp khỏi vùng lưu trữ và cũng khỏi đĩa của bạn 'git rm' Được sử dụng.


35) Chức năng của 'git stash apply' là gì?

Khi bạn muốn tiếp tục làm việc ở nơi bạn đã dừng công việc, 'git stash áp dụng' lệnh được sử dụng để đưa những thay đổi đã lưu trở lại thư mục làm việc.


36) 'git log' có tác dụng gì?

Để tìm các cam kết cụ thể trong lịch sử dự án của bạn - theo tác giả, ngày, nội dung hoặc lịch sử, hãy sử dụng 'git log'.


37) Lệnh 'git add' được sử dụng để làm gì?

'git add' thêm những thay đổi trong tệp trong thư mục hiện tại của bạn vào chỉ mục.


38) Chức năng của 'git reset' là gì?

Chức năng của 'Đặt lại Git' là thiết lập lại chỉ mục cũng như thư mục làm việc về trạng thái của lần xác nhận cuối cùng của bạn.


39) Git Is-tree là gì?

'git Is-tree' biểu thị một đối tượng cây bao gồm chế độ và tên của từng mục và giá trị SHA-1 của blob hoặc cây.


40) Git instaweb được sử dụng như thế nào?

'Git Instaweb' tự động chuyển hướng trình duyệt web và chạy máy chủ web có giao diện vào kho lưu trữ cục bộ của bạn.


41) 'Hook' trong git bao gồm những gì?

Thư mục này bao gồm các tập lệnh Shell được kích hoạt sau khi chạy các lệnh Git tương ứng. Ví dụ, git sẽ cố gắng thực thi tập lệnh post-commit sau khi bạn chạy một commit.


42) Giải thích thông điệp cam kết là gì?

Thông báo cam kết là một tính năng của git xuất hiện khi bạn cam kết thay đổi. Git cung cấp cho bạn một trình soạn thảo văn bản nơi bạn có thể nhập các sửa đổi được thực hiện trong các cam kết.


43) Làm thế nào để sửa lỗi commit bị hỏng?

Để sửa bất kỳ cam kết bị hỏng nào, bạn sẽ sử dụng lệnh “git commit—sửa đổi”. Bằng cách chạy lệnh này, bạn có thể sửa thông báo cam kết bị hỏng trong trình soạn thảo.


44) Tại sao nên tạo một commit bổ sung thay vì sửa đổi commit hiện có?

Có một vài lý do

a) Hoạt động sửa đổi sẽ hủy trạng thái đã được lưu trước đó trong một lần cam kết. Nếu chỉ có thông báo cam kết bị thay đổi thì không thành vấn đề. Nhưng nếu nội dung đang được sửa đổi thì khả năng xóa bỏ một cái gì đó quan trọng vẫn còn nhiều hơn.

b) Lạm dụng “git commit-amed” có thể khiến một commit nhỏ phát triển và có thêm những thay đổi không liên quan.


45) 'Bare repository' trong GIT là gì?

Để phối hợp với nhóm phát triển và nhà phát triển phân tán, đặc biệt là khi bạn đang làm việc trên một dự án từ nhiều máy tính, 'Bare Repository' được sử dụng. Một bare repository bao gồm lịch sử phiên bản mã của bạn.


46) Kể tên một số dịch vụ lưu trữ kho lưu trữ Git

  • Mã Pika
  • Visual Studio trực tuyến
  • GitHub
  • GitDoanh nghiệp
  • NguồnForge.net
Chia sẻ

13 Comments

  1. hình đại diện Lập trình viên PHP nói:

    Rất hữu ích. Cảm ơn bạn.

  2. Cảm ơn bạn đã tổng hợp các câu hỏi thường gặp

  3. Nazeer Ahmed nói:

    cần hỏi đáp sâu hơn về cách khắc phục sự cố, plugin, hỗ trợ bằng các công cụ của Microsoft và cả về các lỗi thường gặp cùng các bước giải quyết.

  4. Tuyệt vời, câu hỏi và câu trả lời và nó hữu ích cho việc chuẩn bị phỏng vấn

  5. hình đại diện Naresh Bende nói:

    Chào đội

    Chúng tôi đang làm việc trên dự án python bao gồm khoảng 10 nhà phát triển cam kết mã của họ vào các nhánh riêng lẻ khác nhau. Số lượng nhánh gần 80-85. Trong quá trình triển khai trên Production, chúng tôi phải tách các cam kết gần đây được thực hiện trên GitHub vào ngày cụ thể đó và kéo nó vào nhánh chính của chúng tôi. Làm thế nào để giải quyết vấn đề này để nhà phát triển có thể cam kết mã của họ trên nhánh Dev, sau đó có thể được hợp nhất vào Staging và Production sau khi sanity.??

    1. Tại sao họ lại sử dụng các nhánh khác nhau? Sẽ tốt hơn nếu tất cả đều hoạt động trên cùng một nhánh khi họ đang làm việc trên các mô-đun hoặc tệp khác nhau.

  6. Amar Kumbhar nói:

    Cảm ơn. Điều này hữu ích! Tiếp tục nhé! Cảm ơn!!

  7. hình đại diện Xin chào thế giới nói:

    Xin chào. Tôi nghĩ rằng hiểu biết về chủ đề Tagging cũng quan trọng trong phạm vi các câu hỏi phỏng vấn Git

  8. hình đại diện Lutfor Rahaman nói:

    Bao gồm mọi thứ. Tốt. Cảm ơn.

Bình luận

Chúng tôi sẽ không công khai email của bạn. Các ô đánh dấu * là bắt buộc *