728x90
반응형

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 새브랜치

선으로 이어지는게 아니고

메인브랜치앞에 순간이동으로 합쳐짐

이렇게하면 사이드 브랜치에서 개발했던 짜잘한 로그까지 출력되지않음

 

728x90
반응형

'Git & GitHub' 카테고리의 다른 글

git허브로 협업하기 1  (0) 2024.08.06

+ Recent posts