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
'GitHub 오류 및 명령어 정리' 카테고리의 다른 글
git config pull.rebase true (0) | 2024.09.25 |
---|---|
git pull을 해야하는데 오류가 난다면? (0) | 2024.08.06 |
다른 사람의 파일을 받아 내 git에다가 push하기(Mac 기준) (1) | 2024.07.24 |
(gitHub)On branch main nothing to commit, working tree clean 해결 (0) | 2024.07.17 |
git 기초 명령어 모음 (0) | 2024.07.15 |