브랜치와 병합
6. 연습 문제
문제 1. 새 브랜치 만들고 바로 이동
feature/search 브랜치를 만들면서 바로 그 브랜치로 이동하는 명령을 한 줄로 쓰세요.
git switch -c feature/search-c 가 생성과 이동을 한 번에 합니다.
문제 2. fast-forward 가 되는 조건
git merge --ff-only feature/x 가 성공하려면 main 쪽 상태가 어때야 하는지 한 문장으로 쓰세요.
feature/x 가 main 에서 갈라진 뒤, main 에 새 커밋이 하나도 없어야 합니다. 그래야 포인터만 옮기는 fast-forward 가 가능합니다.
문제 3. 충돌 파일 목록만 뽑기
병합 중 충돌이 난 파일 이름만 뽑는 명령을 쓰세요.
git diff --name-only --diff-filter=UU 는 unmerged, 아직 해결 안 된 경로만 걸러냅니다.
문제 4. 병합된 브랜치만 찾아 지우기
main 에 이미 합쳐진 브랜치 목록을 보는 명령과, 그중 old- 로 시작하는 것만 지우는 방법을 쓰세요.
git branch --merged main
git branch --merged main | grep 'old-' | xargs -r git branch -d--merged 목록 안에서만 지우므로 병합 안 된 브랜치는 안전합니다.
문제 5. -d 와 -D 의 차이
git branch -d와 git branch -D의 차이를 한 문장으로 설명하세요.
-d는 브랜치의 커밋이 지금 브랜치에 이미 병합됐을 때만 지우고, -D는 병합 여부와 관계없이 강제로 지웁니다.