▶branch 만들어보기
개발을 하다 보면 어떠한 추가 기능을 넣어야 할 때가 있다.
그럴 때마다 "아 코드 잘못 짜서 프로그램 망가지면 우짜지"라는 생각이 든다.
그럴 때 사용하는 것이 branch이다.
▷branch가 뭔데?
branch는 우리가 추가한 코스로 인해서 프로그램이 망가지는 것을 방지하기 위해서 복사본을 하나 만들어서 그 복사본에다가 코드를 짜는 것이다. 그러면 코드를 이상하게 짜서 프로그램이 망가지더라도 원래 프로그램을 짜던 branch에 돌아오면 된다.
우리가 사용하고 있던 곳도 main이라는 이름의 branch이다.
이렇게 새로 만든 복사본인 branch는 원래 작업하던 main branch에 병합할 수 있다.
물론 맘에 안 들면 삭제하고 그냥 main으로 돌아올 수도 있다.
▷branch 만들기
저번시간에 이어서 이번에 맨유와 첼시까지 추가한 후 각각 커밋을 해주었다.
여기서 branch를 만들어서 맨시티까지 만들어줄 것이다.
git branch 브런치이름
branch를 만드는 명령어이다. add MCI로 만들어보겠다.
이렇게 만들어주었고 현재는 main branch이기 때문에
git switch 브런치이름
으로 브런치를 이동해줘야 한다.
이렇게 스위치를 해주면 branch가 main에서 add-MCI로 바뀐 것을 볼 수 있다.
▷만든 branch에서 commit 해보기
add-MCI branch에서 MCI 파일까지 만들어보겠다.
이렇게 add-MCI branch에서 MCI파일을 만들어 스테이지로 옮기고 커밋까지 해주었다.
그리고 git log 명령어를 통해서 확인해 보면 이렇게 add-MCI로 옮겨져서 커밋된 걸 알 수 있다.
git switch main으로 branch를 이동하면 MCI파일이 지워져 있는 걸 볼 수 있다.
▶branch 병합하기
branch를 합치는 방법에는 두 가지가 있다.
merge와 rebase이다.
▷merge란?
merge : 두 개의 branch를 한 커밋에 이어 붙인다.
branch의 사용 내역들을 남겨둘 필요가 있을 때 merge를 사용한다.
merge 하는 방법
add-MCI 브런치를 main 브런치에 merge 하고 싶다고 할 때
1. main 브런지로 이동해 준다.
2. 아래 명령어로 main브런치에 add-MCI 브런치를 병합해 준다.
git merge add-MCI
그 후 GUI환경에서 보면 이렇게 add-MCI가 main에 병합된 걸 볼 수 있다.
3. 아래 명령어로 병합된 브런치를 삭제해 준다.
git branch -d add-MCI
이렇게 삭제된 걸 볼 수 있다.(삭제가 안되면 d를 대문자 D로 바꿔준다.)
추가로 merge도 하나의 commit이므로 병합하기 전 브런치의 마지막 시점으로 되돌리는 게(reset) 가능하다.
▷rebase란?
rebase : 추가할 branch의 내용들을 main branch의 끝에 붙인다.
히스토리를 깔끔하게 하고 싶을 때 rebase를 사용한다.
rebase 하는 방법
add-MCI 브런치를 main 브런치에 rebase 하고 싶다고 할 때
1. add-MCI 브런치로 이동해 준다. (merge와는 반대이다.)
git switch add-MCI
2. 아래 명령어로 main브런치에 add-MCI브런치를 병합해 준다.
git rebase main
그러면 이렇게 옆에 가지에 있던 add-MCI브런치가 main 브런치의 끝에 이어져 붙은 걸 볼 수 있다.
3. main브런치로 이동 후 add-MCI를 merge 하기
소스트리에서 보면 main브런치가 뒤처져있는 걸 볼 수 있다.
따라서 merge를 통해 main브런치를 add-MCI브런치의 위치로 merge 해줘야 한다.
git merge add-MCI
이렇게 main브런치와 add-MCI브런치의 위치가 같아졌다.
4. 병합된 브런치 삭제해 주기
git branch -d add-MCI
merge때와 마찬가지로 병합 완료된 브런치는 삭제해 주면 된다.
그러면 이렇게 깔끔하게 병합된 걸 볼 수 있다.
다음시간에는 merge와 rebase상황에서 충돌을 해결하는 방법에 대해서 알아볼 것이다.
'배우기📖 > Git & GitHub' 카테고리의 다른 글
[GitHub] 깃허브 시작하기(personal access token 만들기, 토큰 컴퓨터에 저장하기) (0) | 2024.02.02 |
---|---|
[Git] merge와 rebase 충돌 해결하기 (0) | 2024.02.01 |
[Git]변경사항 확인 후 커밋하기, 작업 되돌리기 (1) | 2024.01.27 |
[Git] 깃 저장소 만들기, 버전 만들기 (0) | 2024.01.26 |
[Git] GUI 프로그램 설치 및 사용하기, VS CODE 사용하기 (0) | 2024.01.26 |