7.4 브랜치 관리하기
브랜치의 개념에 대해서는 4장에서 이미 설명, 이 절에서는 명령어로 브랜치를 나누고 체크아웃하고 병합하고 재배치하는 방법에 대해 알아봄
7.2.1. git branch <브랜치> : 브랜치 나누기
브랜치 만드는 명령 : git branch <브랜치>
foo 라는 브랜치 만드는 명령 : git branch foo
7.2.2 git checkout <브랜치> : 체크아웃하기
체크아웃 : 브랜치를 전환하는 것을 의미.
현재 작업 중인 브랜치에서 다른 브랜치로 이동하는 과정입니다.
이 명령을 실행하면, 해당 브랜치에서의 코드나 파일 상태가 현재 작업 중인 디렉토리에 적용되며, 그 브랜치에서 작업한 내용으로 바뀌게 됨
foo 브랜치로 체크아웃하는 명령은 git checkout foo 임
깃배시에서 master가 foo로 변경되면 올바르게 체크아웃한 거임
브랜치를 만듦과 동시에 체크아웃하기
새로운 브랜치를 만드는 명령은 git branch <브랜치>
특정 브랜치에 체크아웃하는 명령은 git checkout <브랜치>
git checkout -b <브랜치>
git checkout -b bar (이 부분은 실습하지 않아도 무방)
7.2.3 git merge <브랜치> : 브랜치 병합하기
foo 브랜치를 master 브랜치에 병합
git merge <병합할 브랜치>
만일 foo 브랜치를 master 브랜치에 병합하고 싶다면 master 브랜치로 체크아웃한 뒤 git merge foo 명령을 입력하면 됨
7.2.4 충돌 해결
명령어로 브랜치를 병합하는 과정에서 충돌이 발생할 경우, master 브랜치에 있는 a.txt파이
*해당 커밋은 foo 브랜치에서 한 커밋임
*a.txt 파일의 내용을 foo 로 변경 후 저장 후 커밋하기
====== 기호의 윗 부분은 HEAD가 가리키는 브랜치, 즉 MASTER 브랜치의 내용 적혀있음
====== 기호의 아랫 부분은 foo 브랜치의 내용이 적혀 있음
여기서 병합의 결과로 master 브랜치의 내용 <<<<<< 기호와 ===== 기호를 선택할지
foo 브랜치의 내용(==== 기호와 >>>>> 기호 사이의 내용)을 선택해야 함
=> master 브랜치의 내용을 선택
git add a.txt
git commit 입력 후 아래와 같아짐
정리 : 충돌이 발생했을 경우, 충돌이 발생한 브랜치 중 어떤 브랜치의 내용을 최종적으로 반영할지 직접 선택해야 함
어떤 내용을 반영할지 직접 선택한 뒤 충돌이 발생한 팡리을 스테이지에 추가하고 커밋하면 병합 완료됨
7.2.5. git branch -d <브랜치> : 브랜치 삭제하기
브랜치 삭제하는 명령은 git branch -d <브랜치> 또는 git branch --delete <브랜치> 임.
foo 브랜치 삭제하려면 foo가 아닌 브랜치로 체크아웃해야 함
foo 브랜치에 체크아웃되어 있다면 master 브랜치로 체크아웃함
7.2.6 git rebase <브랜치> : 브랜치 재배치하기
브랜치의 재배치란? 브랜치가 뻗어나온 기준점을 옮기는 방법
bar 브랜치에서 몇 가지 커밋 쌓기
브랜치를 재배치하는 명령은 git rebase <브랜치> 임
bar 브랜치를 master 브랜치로 재배치하려면 bar 브랜치로 체크아웃한 뒤 git rebase master 명령을 입력하면 됨
bar 브랜치의 기준점이 tenth commit으로 옮겨간 것임
cf. bar 브랜치를 master 브랜치로 재배치한 결과를 커밋당 한 줄로 출력된 그래프 형태로도 확인할 수 있음
cf. 명령어 정리 노트
git diff : 최신 커밋과 작업 디렉터리 비교하기
git diff --staged : 최근 커밋과 스테이지 비교하기
git diff <커밋> <커밋> : <커밋>끼리 비교하기
git diff <브랜치> <브랜치> : <브랜치> 끼리 비교하기
git reset
git reset --soft <되돌아갈 커밋> : <되돌아갈 커밋> 으로 soft reset하기
git reset --mixed <되돌아갈 커밋> : <되돌아갈 커밋> 으로 mixed reset하기
git reset --hard <되돌아갈 커밋> : <되돌아갈 커밋>으로 hard reset하기
git revert <취소할 커밋>
git stash : 변경 사항 임시 저장하기
git stash --message "<메시지>" : <메시지>와 함께 변경 사항 임시 저장하기
git stash -m " <메시지>" : <메시지>와 함께 변경 사항 임시 저장하기
git stash list : 임시 저장된 작업 내역 조회하기
git stash apply <스태시> : 임시 저장된 작업 내역 조회하기
git stash drop <스태시> : 임시 저장된 작업 삭제하기
git branch
git branch : 브랜치 목록 조회하기
git branch <브랜치> : <브랜치> 만들기
git branch --delete <브랜치> : <브랜치> 삭제하기
git branch -d <브랜치> : <브랜치> 삭제하기
branch checkout <브랜치> : <브랜치>로 체크아웃하기
git checkout -b <브랜치> : <브랜치> 생성하고 체크아웃하기
git rebase <브랜치> : <브랜치>로 재배치하기
'QA 업무' 카테고리의 다른 글
[CI/CD] [git&github] 8.2 깃 명령으로 풀 리퀘스트 보내기 (1) | 2024.12.20 |
---|---|
[CI/CD] [git&github] 8.1 원격 저장소와 상호 작용하기 (0) | 2024.12.19 |
[CI/CD] [git&github] 7.3 작업 임시 저장하기 (0) | 2024.12.18 |
[제로베이스에서 취업까지 QA편] 3.2 네트워크 테스트 (2) | 2024.12.06 |
[제로베이스에서 취업까지 QA편] 3.1 API 테스트 (0) | 2024.12.05 |