GitHub 오류 및 명령어 정리

git branch, switch,checkout, merge

wanduek 2024. 8. 1. 20:49

git branch

git branch 명령어는 브랜치를 생성하거나 관리할 때 사용된다.

 

  • 브랜치 목록 보기현재 로컬 리포지토리에서 사용 가능한 브랜치 목록을 출력합니다. 현재 체크아웃된 브랜치는 별표(*)로 표시됩니다.
git branch

 

  • 새 브랜치 생성<branch-name>으로 새로운 브랜치를 생성합니다. 이 명령어는 브랜치를 생성만 하고, 생성한 브랜치로 자동으로 체크아웃하지는 않습니다.
git branch <branch-name>

 

  • 브랜치 삭제<branch-name> 브랜치를 삭제합니다. 삭제할 브랜치가 현재 체크아웃된 브랜치일 경우, -d 옵션은 삭제를 허용하지 않습니다. 강제로 삭제하려면 -D 옵션을 사용할 수 있습니다.
git branch -d <branch-name>

 

 git switch

 

git switch 명령어는 브랜치를 전환하는 데 사용됩니다. Git 2.23에서 새롭게 추가된 명령어로, 브랜치를 전환하거나 새로 생성할 때 사용됩니다. 이전에는 git checkout 명령어가 이런 작업을 담당했습니다.

 

  • 브랜치 전환<branch-name> 브랜치로 전환합니다. 이 명령어는 현재 작업 중인 브랜치에서 해당 브랜치로 전환합니다.
git switch <branch-name>

 

  • 새 브랜치 생성 및 전환<new-branch-name>으로 새로운 브랜치를 생성하고, 동시에 해당 브랜치로 전환합니다.
     
     
git switch -b <new-branch-name>

 

git checkout

git checkout 명령어는 브랜치를 전환하거나 특정 커밋의 상태를 작업 디렉토리로 복원할 때 사용된다.

  • 브랜치 전환<branch-name>으로 브랜치를 전환합니다.
git checkout <branch-name>

 

  • 새 브랜치 생성 및 전환새로운 브랜치를 생성하고 해당 브랜치로 전환합니다
     
git checkout -b <new-branch-name>

 

  • 파일 복원특정 커밋(commit-hash)의 상태로 파일을 복원합니다. <file-path>는 복원할 파일의 경로입니다.
     
git checkout <commit-hash> -- <file-path>

 

  • 커밋 복원특정 커밋의 상태로 작업 디렉토리를 복원합니다. 이 경우, HEAD가 지정된 커밋을 가리키게 되며, 현재 브랜치는 변경되지 않습니다.
git checkout <commit-hash>

git reset

git reset 명령어는 커밋을 되돌리거나 스테이지된 변경 사항을 제거할 때 사용됩니다. 사용 방법에 따라 작업 디렉토리와 스테이징 영역의 상태를 조절할 수 있습니다:

  • 소프트 리셋<commit-hash>까지 커밋을 되돌립니다. 이 경우, 되돌린 커밋 이후의 커밋은 삭제되지 않으며, 변경 사항은 스테이징 영역에 남아 있습니다. 
git reset --soft <commit-hash>

 

  • 하드 리셋<commit-hash>까지 커밋을 되돌리고, 작업 디렉토리와 스테이징 영역도 해당 커밋의 상태로 되돌립니다. 이 명령어는 변경 사항을 완전히 삭제하므로 주의해서 사용해야 합니다.
git reset --hard <commit-hash>
 
  • 혼합 리셋 (기본)<commit-hash>까지 커밋을 되돌리고, 스테이징 영역을 해당 커밋의 상태로 되돌립니다. 작업 디렉토리는 변경되지 않습니다.
git reset <commit-hash>

 

 

git merge

git merge 명령어는 두 개의 브랜치를 병합할 때 사용됩니다. 브랜치에서 작업한 내용을 다른 브랜치에 통합할 수 있습니다:

  • 브랜치 병합현재 체크아웃된 브랜치에 <branch-name> 브랜치의 변경 사항을 병합합니다. 만약 충돌이 발생하면, Git은 충돌을 해결하라는 메시지를 출력합니다.
git merge <branch-name>

 

  • 병합 충돌 해결 병합 과정에서 충돌이 발생하면, Git은 충돌을 해결하기 위한 수정이 필요하다는 메시지를 보여줍니다. 충돌을 해결한 후에는 수정된 파일을 스테이징하고, 병합 커밋을 생성해야 합니다:
git add <file-with-conflict> git commit

 

반응형