상위 45개 GIT 인터뷰 질문 및 답변(2025)
꿈의 직업을 얻기 위한 신입생과 경력 지원자를 위한 Git 인터뷰 질문과 답변은 다음과 같습니다.
1) GIT란 무엇인가?
GIT는 소규모 및 대규모 프로젝트를 속도와 효율성으로 처리하는 데 중점을 둔 분산 버전 제어 시스템 및 소스 코드 관리(SCM) 시스템입니다.
2) GIT의 저장소란 무엇입니까?
저장소에는 .git이라는 디렉터리가 포함되어 있으며, 여기서 git은 저장소에 대한 모든 메타데이터를 보관합니다. .git 디렉토리의 내용은 git에게만 공개됩니다.
3) 커밋 메시지를 작성하는 데 사용할 수 있는 명령은 무엇입니까?
커밋 메시지를 작성하는 데 사용되는 명령은 "git commit –a"입니다. 명령줄의 -a는 수정된 모든 추적 파일의 새 콘텐츠를 커밋하도록 git에 지시합니다. "git add"를 사용할 수 있습니다 ” git commit –a 새 파일을 처음으로 커밋해야 하는 경우.
4) GIT와 SVN의 차이점은 무엇입니까?
GIT와 SVN의 차이점은 다음과 같습니다.
a) Git은 매우 큰 파일이나 자주 변경되는 바이너리 파일을 처리하는 데 덜 선호되는 반면 SVN은 동일한 저장소에 저장된 여러 프로젝트를 처리할 수 있습니다.
b) GIT는 여러 분기 또는 태그에 걸쳐 '커밋'을 지원하지 않습니다. Subversion을 사용하면 저장소 레이아웃의 어느 위치에나 폴더를 생성할 수 있습니다.
c) Git은 변경할 수 없지만 Subversion을 사용하면 커미터가 태그를 브랜치로 처리하고 태그 루트 아래에 여러 개정판을 만들 수 있습니다.
5) GIT를 사용하면 어떤 이점이 있나요?
a) 데이터 중복 및 복제
b) 고가용성
c) 저장소당 하나의.git 디렉토리만
d) 탁월한 디스크 활용도 및 네트워크 성능
e) 협업 친화적
f) 모든 종류의 프로젝트에서 GIT를 사용할 수 있습니다.
6) GIT에서는 어떤 언어를 사용하나요?
GIT는 빠르며 'C' 언어는 고급 언어와 관련된 런타임 오버헤드를 줄여 이를 가능하게 합니다.
7) GIT에서 'GIT PUSH' 기능은 무엇인가요?
'GIT PUSH'는 관련 객체와 함께 원격 참조를 업데이트합니다.
8) Subversion보다 GIT가 더 나은 이유는 무엇입니까?
GIT는 오픈 소스 버전 제어 시스템입니다. 이를 통해 프로젝트의 '버전'을 실행할 수 있으며, 이는 코드에 대한 초과 근무 변경 사항을 표시하며 필요한 경우 역추적을 유지하고 해당 변경 사항을 취소할 수 있습니다. 여러 개발자가 체크아웃하고 변경 사항을 업로드할 수 있으며 각 변경 사항은 특정 개발자에게 귀속될 수 있습니다.
9) GIT의 "스테이징 영역" 또는 "인덱스"란 무엇입니까?
커밋을 완료하기 전에 '스테이징 영역' 또는 '인덱스'라는 중간 영역에서 형식을 지정하고 검토할 수 있습니다.
10) GIT 스태시란 무엇입니까?
GIT 숨김은 작업 디렉터리와 인덱스의 현재 상태를 가져와 나중에 사용할 수 있도록 스택에 저장하고 깨끗한 작업 디렉터리를 돌려줍니다. 따라서 작업 중이고 다른 작업으로 이동해야 하는 동시에 현재 편집 내용을 잃고 싶지 않은 경우 GIT stash를 사용할 수 있습니다.
11) GIT 스태시 드롭이란 무엇입니까?
숨긴 항목 작업을 완료했거나 목록에서 해당 항목을 제거하려면 git 'stash drop' 명령을 실행하세요. 기본적으로 마지막에 추가된 숨김 항목을 제거하며, 인수로 포함하는 경우 특정 항목을 제거할 수도 있습니다.
12) 브랜치가 이미 마스터에 병합되었는지 GIT에서 어떻게 알 수 있나요?
Git 브랜치 - 병합됨은 현재 브랜치에 병합된 브랜치를 나열합니다.
Git 브랜치—-no merged는 병합되지 않은 브랜치를 나열합니다.
13) git clone의 기능은 무엇입니까?
git clone 명령은 기존 Git 저장소의 복사본을 생성합니다. 중앙 저장소의 복사본을 얻기 위해 '복제'는 프로그래머가 사용하는 가장 일반적인 방법입니다.
14) 'git config'의 기능은 무엇입니까?
'git config' 명령은 Git 설치에 대한 구성 옵션을 설정하는 편리한 방법입니다. 저장소의 동작, 사용자 정보, 기본 설정 등은 이 명령을 통해 정의할 수 있습니다.
15) 커밋 객체에는 무엇이 포함되어 있나요?
a) 특정 시점의 프로젝트 상태를 나타내는 파일 세트
b) 상위 커밋 객체에 대한 참조
c) 커밋 개체를 고유하게 식별하는 40자 문자열인 SHAI 이름입니다.
16) Git에서 저장소를 어떻게 만들 수 있나요?
Git에서 저장소를 생성하려면 해당 프로젝트에 대한 디렉터리가 없으면 생성한 다음 "git init" 명령을 실행합니다. 이 명령을 실행하면 프로젝트 디렉터리에 .git 디렉터리가 생성되므로 디렉터리를 비워둘 필요는 없습니다.
17) git에서 '헤드'는 무엇이며 저장소에 몇 개의 헤드를 생성할 수 있나요?
'헤드'는 단순히 커밋 개체에 대한 참조입니다. 모든 저장소에는 "마스터"라는 기본 헤드가 있습니다. 저장소에는 원하는 수의 헤드가 포함될 수 있습니다.
18) GIT에서 분기하는 목적은 무엇입니까?
GIT에서 분기의 목적은 자신만의 분기를 만들고 해당 분기 사이를 이동할 수 있다는 것입니다. 최근 작업을 그대로 유지하면서 이전 작업으로 이동할 수 있습니다.
19) GIT의 일반적인 분기 패턴은 무엇입니까?
GIT에서 브랜치를 생성하는 일반적인 방법은 하나를 "Main"으로 유지하는 것입니다.
새로운 기능을 구현하려면 브랜치를 만들고 또 다른 브랜치를 생성하세요. 이 패턴은 단일 프로젝트에서 여러 개발자가 작업하는 경우 특히 유용합니다.
20) 메인 브랜치에 새로운 기능을 어떻게 추가할 수 있나요?
메인 브랜치에 새로운 기능을 추가하려면 "git merge" 또는 "git pull command" 명령을 사용할 수 있습니다.
21) Git에서 '충돌'이란 무엇인가요?
병합해야 하는 커밋의 한 위치에 변경 사항이 있고, 현재 커밋도 같은 위치에 변경 사항이 있는 경우 '충돌'이 발생합니다. Git은 어떤 변경 사항이 우선 적용되어야 하는지 예측할 수 없습니다.
22) git 충돌은 어떻게 해결하나요?
git에서 충돌을 해결하려면 파일을 편집하여 충돌하는 변경 사항을 수정한 다음 "git add"를 실행하여 해결된 파일을 추가하고 복구된 병합을 커밋하고 "git commit"을 실행합니다. Git은 병합이 진행 중이라는 것을 기억하므로 커밋의 상위 항목을 올바르게 설정합니다.
23) 지점을 삭제하려면 어떤 명령을 사용합니까?
개발 브랜치가 메인 브랜치에 병합되면 더 이상 필요하지 않습니다.
개발 지점. 브랜치를 삭제하려면 “git Branch –d [head]” 명령을 사용하세요.
24) Git에서 병합할 수 있는 또 다른 옵션은 무엇입니까?
"리베이스"는 git에서 병합하는 대신 사용할 수 있습니다.
25) Git의 "Rebasing" 구문은 무엇입니까?
리베이스에 사용되는 구문은 “git rebase [new-commit]
"
26) 'git 원격'과 'git clone'의 차이점은 무엇입니까?
'git 원격 추가'는 특정 URL의 이름을 지정하는 항목을 git 구성에 생성합니다. 반면 'git clone'은 URI에 있는 기존 저장소를 복사하여 새로운 git 저장소를 생성합니다.
27) GIT 버전 관리란 무엇입니까?
GIT 버전 제어를 사용하면 파일 모음의 기록을 추적할 수 있으며 파일 모음을 다른 버전으로 되돌리는 기능이 포함되어 있습니다. 각 버전은 특정 시점의 파일 시스템 스냅샷을 캡처합니다. 파일 모음과 전체 기록이 저장소에 저장됩니다.
28) LINUX용 최고의 그래픽 GIT 클라이언트에 대해 언급해 주시겠습니까?
LINUX용 최고의 GIT 클라이언트 중 일부는 다음과 같습니다.
a) 힘내 콜라
b) 힘내-g
c) 스마트 자식
d) 낄낄거린다
e) 힘내 GUI
f) qGit
29) 서브짓(Subgit)이란 무엇입니까? Subgit을 사용하는 이유는 무엇입니까?
'Subgit'은 원활하고 스트레스 없는 SVN에서 Git으로의 마이그레이션을 위한 도구입니다. Subgit은 SVN에서 Git으로의 전사적 마이그레이션을 위한 솔루션입니다.
a) git-svn보다 훨씬 낫습니다.
b) 이미 배치된 인프라를 변경할 필요가 없습니다.
c) 모든 Git 및 모든 하위 버전 기능을 사용할 수 있습니다.
d) 스트레스 없는 진정한 마이그레이션 경험을 제공합니다.
30) git에서 'git diff' 기능은 무엇인가요?
'git diff' 커밋, 커밋, 작업 트리 등 간의 변경 사항을 보여줍니다.
31) 'git status'는 어떤 용도로 사용되나요?
'Git Status'는 작업 디렉터리와 인덱스의 차이점을 보여주기 때문에 git을 좀 더 포괄적으로 이해하는 데 도움이 됩니다.
32) 'git diff'와 'git status'의 차이점은 무엇입니까?
'git diff'는 'git status'와 유사합니다., 그러나 다양한 커밋 간의 차이점과 작업 디렉터리와 인덱스 간의 차이점을 보여줍니다.
33) git에서 'git checkout' 기능은 무엇인가요?
A 'git 체크아웃' 명령은 작업 트리의 디렉터리나 특정 파일을 전체 분기에 병합하지 않고 다른 분기의 파일로 업데이트하는 데 사용됩니다.
34) 'git rm'의 기능은 무엇입니까?
준비 영역과 디스크에서 파일을 제거하려면 'git rm' 사용.
35) 'git stash apply' 기능은 무엇인가요?
퇴사한 곳에서 계속 일하고 싶을 때, 'git stash 적용' 명령은 저장된 변경 사항을 작업 디렉터리로 다시 가져오는 데 사용됩니다.
36) 'git log'의 용도는 무엇입니까?
프로젝트 기록에서 특정 커밋을 찾으려면 작성자, 날짜, 콘텐츠 또는 기록별로 'git log'가 사용됩니다.
37) 'git add'는 어떤 용도로 사용되나요?
'git add'는 기존 디렉터리의 파일 변경 사항을 색인에 추가합니다.
38) 'git Reset' 기능은 무엇인가요?
의 기능 '깃 재설정' 인덱스와 작업 디렉터리를 마지막 커밋 상태로 재설정하는 것입니다.
39) git Is-tree란 무엇인가요?
'git Is-tree' 각 항목의 모드와 이름, BLOB 또는 트리의 SHA-1 값을 포함하는 트리 개체를 나타냅니다.
40) git instaweb은 어떻게 사용되나요?
'깃 인스타웹' 자동으로 웹 브라우저를 지정하고 인터페이스가 있는 웹 서버를 로컬 저장소로 실행합니다.
41) git에서 '후크'는 무엇으로 구성되나요?
이 디렉터리는 해당 Git 명령을 실행한 후 활성화되는 셸 스크립트로 구성됩니다. 예를 들어 git은 커밋을 실행한 후 커밋 후 스크립트를 실행하려고 시도합니다.
42) 커밋 메시지가 무엇인지 설명해주세요.
커밋 메시지는 변경 사항을 커밋할 때 나타나는 git의 기능입니다. Git은 커밋에서 수정한 내용을 입력할 수 있는 텍스트 편집기를 제공합니다.
43) 깨진 커밋을 어떻게 고칠 수 있나요?
손상된 커밋을 수정하려면 " 명령을 사용합니다.git commit - 수정". 이 명령을 실행하면 편집기에서 깨진 커밋 메시지를 수정할 수 있습니다.
44) 기존 커밋을 수정하는 것보다 추가 커밋을 생성하는 것이 바람직한 이유는 무엇입니까?
몇 가지 이유가 있습니다
a) 수정 작업은 이전에 커밋에 저장된 상태를 파괴합니다. 커밋 메시지만 변경되는 것이라면 문제가 되지 않습니다. 그러나 내용이 수정되면 중요한 내용을 삭제할 가능성이 더 높아집니다.
b) “git commitamend”를 남용하면 작은 커밋이 커져 관련 없는 변경 사항을 얻게 될 수 있습니다.
45) GIT의 '베어 저장소'란 무엇입니까?
분산 개발 및 개발자 팀과의 협력을 위해, 특히 여러 컴퓨터에서 프로젝트를 작업할 때 'Bare Repository'가 사용됩니다. 베어 저장소는 코드의 버전 기록으로 구성됩니다.
46) 몇 가지 Git 저장소 호스팅 서비스 이름을 지정하세요.
- 피카코드
- 비주얼 스튜디오 온라인
- GitHub의
- Git엔터프라이즈
- SourceForge.net
매우 도움이됩니다. 고마워
FAQ를 통합해 주셔서 감사합니다.
정말 도움이 감사합니다.
문제 해결, 플러그인, Microsoft 도구 지원 및 해결 단계의 일반적인 오류에 대한 더 깊은 Q&A가 필요합니다.
개념에 대한 TQ..
좋습니다. 질문과 답변이 있으며 면접 준비에 유용합니다.
안녕하세요 팀,
우리는 서로 다른 개별 브랜치에 코드를 커밋하는 약 10명의 개발자로 구성된 Python 프로젝트를 진행하고 있습니다. 가지 수는 거의 80~85개이다. 프로덕션에 배포하는 동안 특정 날짜에 GitHub에서 이루어진 최근 커밋을 분리하여 마스터 브랜치로 가져와야 합니다. 개발자가 나중에 스테이징 및 프로덕션 포스트 온전함에 병합할 수 있는 Dev 브랜치에서 코드를 커밋할 수 있도록 이 문제를 어떻게 해결할 수 있습니까?
왜 그들은 다른 지점을 사용하고 있습니까? 서로 다른 모듈이나 파일에서 작업한다는 점을 고려하면 모두 동일한 분기에서 작업하는 것이 더 좋지 않을까요?
감사해요. 이것은 도움이 됩니다! 계속하세요! 감사해요 !!
안녕하세요. Git 인터뷰 질문 범위에서 Tagged 주제에 대한 이해도 중요하다고 생각합니다.
고맙습니다.
감사
모든 것을 다룹니다. 좋아요. 감사합니다.