git의 branch만들기
코딩하다가 새로운 기능 넣고싶을때
원본파일로 작업하다가 망가지면 어떻할꺼임?
파일 복사본 만들어서 거기에 먼저 코드짜보면 안전하지 않겠음?
branch = 복사본임
터미널에서는
git branch 사본명 | 파일 사본 만들기 |
git switch 사본명 | 브랜치로 이동 |
그럼 서본명의 브렌치로 이동 해서 파일수정가능
git add 나 git commit 을 사용해서 변경한파일 저장하면 됌
이렇게 사본브랜치를 main브랜치에 합치고싶을땐?
git switch main 으로 메인브랜치로 이동을 먼저함
main브랜치에서 git merge 합칠파일명
입력하면 됌 이 합치는걸 깃머지 라고 함
근데 메인브랜치랑 사본브랜치가 같은 파일을 수정하면 어떻게될까?
둘중에 뭘 메인브랜치에 적용해야할지 우선순위는 개발자가 직접 정해야하지 않을까?
이런경우에는 행복하지 않은 엔딩 즉 충돌엔딩이 생김
이럴땐 충돌된 코드중에 뭘남길지 정해서 코드수정하고
깃애드 깃커밋하면 해결 끝
컴플릿트발생하면 수동으로 해결해야함
깃머지 말고도 다양한방법으로 브랜치들을 합칠수 있음
각 브랜치마다 신규내용이 있는경우를 쓰리웨이 머지라고 함
메인브랜치는 수정이 안되고 사이드브랜치만 수정한경우는?
그냥 사이드브랜치를 메인브랜치로 지칭해버림 왜냐면
메인브렌치에다가 합칠때 없는상태에서 코드가 추가되었기때문임
이걸 페스트 포워드 머지라고함
만약 머지를 완료한 브랜치가 삭제하고 싶어지면
git branch -d 브랜치명 을 입력하면 지워
머지를 안한 브랜치 삭제는
git branch -D로 대문자D를 입력해야함
깃로그로 메인브랜치 내역마 보고싶은데
사이드 브랜치들까지 로그가 다출력되는게 싫을땐
squash and merge를 하면 됌
git merge --squash 새브랜치
선으로 이어지는게 아니고
메인브랜치앞에 순간이동으로 합쳐짐
이렇게하면 사이드 브랜치에서 개발했던 짜잘한 로그까지 출력되지않음
'Git & GitHub' 카테고리의 다른 글
git허브로 협업하기 1 (0) | 2024.08.06 |
---|