Git 플래시카드

카테고리 후원자

Git은 Linus Torvalds가 만든 분산 버전 관리 시스템입니다. 속도, 데이터 무결성 및 분산 비선형 워크플로 지원을 위해 설계된 도구입니다. Git은 유연성과 효율성을 특징으로 하여, 소규모 및 대규모 소프트웨어 프로젝트를 효과적으로 관리할 수 있습니다. 고급 브랜칭 및 병합 기능을 제공하여, 개발자가 효율적으로 협업하고, 변경 사항을 추적하며, 소스 코드를 관리할 수 있는 도구를 제공합니다. 오프라인 작업 및 프로젝트 버전 간 빠른 전환을 지원하여, 신뢰성을 유지하고 변경 이력을 쉽게 복구할 수 있습니다.

우리의 플래시카드 앱에는 신중하게 선정된 Git 면접 질문과 포괄적인 답변이 포함되어 있어, Git 지식이 필요한 어떤 면접에도 효과적으로 대비할 수 있습니다. IT 플래시카드는 구직자만을 위한 도구가 아닙니다 - 현재의 경력 계획에 관계없이 지식을 강화하고 테스트할 수 있는 훌륭한 방법입니다. 앱을 정기적으로 사용하면 최신 Git 트렌드를 지속적으로 파악하고 높은 수준의 기술을 유지할 수 있습니다.

우리 앱의 샘플 Git 플래시카드

App Store 또는 Google Play에서 저희 앱을 다운로드하여 더 많은 무료 플래시카드를 받거나, 모든 플래시카드에 액세스하려면 구독하세요.

Git에서 '브랜치'란 무엇이며 소프트웨어 개발 과정에서 어떻게 사용됩니까?

분기, Git에서의 분기라고도 불리는 것은 프로젝트의 독립적인 개발 라인입니다. 새로운 기능을 작업하거나 버그를 수정하고 싶을때, 주 개발 라인(master 브랜치)과 간섭하지 않기 위해 생성됩니다. 브랜치는 프로젝트의 여러 버전을 동시에 실행 할 수 있게 해주며, 여러 개발자가 한 프로젝트에서 작업할 경우 효율적입니다.

소프트웨어 개발 과정에서 분기의 주요용도는 다음과 같은 순서입니다 : 새로운 분기를 생성, 변경사항을 추가, 변경사항을 커밋, 그리고 그 변경사항을 주 분기와 병합.

다음 예제는 분기에 수행 할 수 있는 기본 연산을 보여줍니다.
# 새로운 브랜치를 만든다
git branch new_feature

# 브랜치를 전환한다.
git checkout new_feature

# 브랜치에 변경을 추가한다
# (...) 파일에 몇가지 변경을 한다
git add .
git commit -m "새로운 기능 추가"

# master로 돌아가서 new_feature 브랜치에서의 변경사항을 병합한다
git checkout master
git merge new_feature

# 작업을 마친 후 브랜치를 삭제 한다
git branch -d new_feature

Git의 브랜치 덕분에, 우리는 프로젝트의 다른 부분에 독립적으로 작업 할 수 있는 능력을 가지게 되고, 이를 언제든지 병합 할 수 있습니다.

git merge 명령어와 git rebase 명령어의 차이점을 설명하십시오.

명령어 git merge는 프로젝트에서 두 개 이상의 branch를 결합하기 위해 사용됩니다. git merge를 실행하면 Git이 두 branch에서 변경된 사항을 모두 포함하는 새로운 commit을 생성합니다. git merge의 장점은 프로젝트의 히스토리가 원래 상태로 보존된다는 것입니다. 이는 이벤트의 시간 순서대로 경로를 생성함으로써 무엇이 일어났는지 이해하는 데 도움을 줍니다.

반면에, git rebase는 일련의 commit을 새로운 기반으로 이동하거나 "적용"하는 데 사용됩니다. 이는 프로젝트의 선형적인 히스토리 차트를 유지하려는 경우에 사용됩니다. git rebase를 수행하면 Git이 선택한 branch의 상단에 변경 사항을 '붙여넣습니다'. git rebase는 어떻게 보면 commit의 히스토리를 '정리'하는 것으로, merge/충돌이 잘못 이해되고 잘못 해결되면 문맥이 손실 될 수도 있습니다.

기본적으로, git merge는 branch를 결합하고 프로젝트의 역사적 경로를 보존하는 데 사용되고, git rebase는 깔끔하고 선형적인 프로젝트 차트를 유지할 수 있지만 문맥을 잃는 데 대한 비용이 들 수 있습니다. 두 가지 방법 모두 장단점이 있으며, 선택은 대부분 구체적인 상황에 달려 있습니다.

‘분리된 HEAD’란 무엇이며 Git을 사용할 때 어떻게 도달할 수 있습니까?

"Detached HEAD"는 Git의 HEAD가 특정 브랜치에 연결되지 않은 상태를 말합니다. 이는 우리의 변경 사항이 어떤 특정 브랜치에도 저장되지 않는 상황과 비교할 수 있습니다.

"Detached HEAD"를 얻는 방법은 여러 가지가 있습니다. 이는 주로 다른 커밋으로 체크아웃하는 동안에 가장 일반적으로 발생합니다. 예를 들면 다음과 같습니다:
git checkout <commit_id>

그러나 우리는 rebase 또는 성공하지 않은 cherry-pick과 같은 작업 도중에도 이 상태를 얻을 수 있습니다.

Git은 이 상태를 다음 메시지로 참조합니다 :
Note: checking out 'commit_id'.
You are in 'detached HEAD' state.

"Detached HEAD"는 위험한 상태가 아니며, Git과 함께 일하는 자연스러운 부분입니다. 그러나 중요한 점은, 다른 커밋이나 브랜치로 전환하기 전에 "detached HEAD" 상태에서 만든 변경 사항을 저장하는 것입니다. 이는 새 브랜치를 생성함으로써 이룰 수 있으며, 이 브랜치는 우리의 "detached HEAD"가 될 것입니다. 이는 다음의 명령어로 수행할 수 있습니다:
git branch new_branch_name

최근 커밋을 한 브랜치에서 다른 브랜치로 어떻게 이동할 수 있습니까?

한 분기에서 다른 분기로 마지막 커밋을 전송하려면 `git cherry-pick` 명령을 사용할 수 있습니다. GIT의 맥락에서 체리 피킹은 한 분기에서 임의의 커밋을 선택하고 다른 분기에 적용하는 것을 의미합니다.

첫 번째 단계는 커밋을 전송하고자 하는 분기로 전환하는 것입니다(이를 branchA라고 하겠습니다):
git checkout branchA

그 다음, 전송하려는 커밋의 해시를 식별해야 합니다. 이를 위해 `git log` 명령을 사용할 수 있으며, 이를 통해 이 분기에 대한 커밋 목록이 표시됩니다. 커밋 해시는 각 커밋 항목의 시작 부분에 있는 긴 문자열입니다.

다음으로, 커밋을 전송하려는 분기로 전환합니다(이를 branchB라고 하겠습니다):
git checkout branchB

마지막으로, `git cherry-pick` 명령과 함께 전송하려는 커밋 해시를 사용합니다:
git cherry-pick commit-hash

여러 커밋을 전송하려는 경우, 그들의 해시를 하나씩 제공할 수 있으며, 각 해시는 공백으로 구분됩니다.

다운로드 IT 플래시카드 지금

우리의 플래시카드로 Git 지식을 확장하십시오.
프로그래밍 기초부터 고급 기술 마스터리까지, IT 플래시카드는 IT에서의 우수성을 향한 여권입니다.
지금 다운로드하여 오늘의 경쟁력 있는 기술 세계에서의 잠재력을 발견하세요.