이전에 https://electricjob.tistory.com/8를 통해 branch의 기능들을 일부 배웠습니다.
branch는 조금더 알아보고 merge를 드디어 영접해 보겠습니다.
우선 branch를 자신의 브랜치로 이동합니다!! 슝슝
git switch gyu # gyu는 제 개인 파일 이름입니다.
물론 회사같은 곳에서는 master가 아니라 다른 파일에 저장하겠지만
저는 master와 gyu(개인 브랜치)를 merge한다고 가정하고 진행할게요!!
branch를 쓰는 이유만 설명하고..! 넘어갈게요
1. 독립 공간을 형성하기 때문에 원본이 안전해지죠
2. 하나의 작업 공간은 하나의 브랜치로 나누어 진행되므로 체계적인 개발이 가능합니다.
3. git은 브랜치 속도가 매우 빠르고 적은 용량을 소모합니다.
그리고 Merge!!
도대체 이게 뭐길래? 물으신다면
분기된 브랜치들을 하나로 합치는 명령어라고 할수 있습니다.
git merge {합칠 브랜치 이름} # master로 switch한 경우 merge
위의 방법은 간단하게 push된 것이라고 생각하면됩니다. 이경우는 보통 프로젝트 단위가 작을 때 혼자서 작업할 때
사용하죠
그리고 branch를 계속 사용하는 방법으로는
git branch {내 branch 이름}
git switch {내 branch 이름}
git add " 충돌 안 나는 파일"
git commit -m "commit message"
git push origin {내 branch 이름}
이 있습니다. 위의 방법으로 하면 merge는 git에서 관리하되, 파일은 branch에서 관리할 수 있습니다.
혹시 충돌이 난다고 할지라도, 무서워 하지 말아요!!
master를 head로 옮기고 충돌 난경우
위에는 다른 사람에 의해 바뀐 내용, 밑에는 내가 바꾼 내용
이렇게 2가지로 나뉘어 보여주면서 무엇을 남길지 선택하게 해줍니다!!
하지만 충돌나면 어떤게 맞는 파일인지 확인하기 어려워서 저는 프로젝트할 때, 동료들과 커밋할 파일을 구분해서 작업을 했는데요!! 그럼 충돌이 나지 않고 merge할 수 있어서 금방 올릴수 있답니다!
<<<<<<< HEAD
commit: 인덱스의 상태를 기록하기
=======
pull: 원격 저장소의 내용을 가져오기
>>>>>>> gyu
# gyu는 제 개인 저장 공간을 의미합니다. 위쪽은 제가 코드상 써놨던것, 아래쪽은 받아온 데이터
# 개인 저장 공간으로 pull ~~의 내용을 덮어씌우겠다는 것을 의미하죠
이렇게 head에서 보여주는 것과 branch에서 보여주는 것이 다른 경우
branch것을 남기려면
pull: 원격 저장소의 내용을 가져오기
를 제외하고 다 지우면 됩니다. 그리고 다시 merge를 눌리면 정상적으로 merge된 것을 확인할 수있죠~!
도움이 되셨다면 밑에 공감을 한번 눌려주세요 ㅎㅎ~!
'기술 스텍 > Git' 카테고리의 다른 글
Git License, issue처리 (0) | 2023.07.28 |
---|---|
4. git 기초 - 추가 기능(global 삭제, 추가 코드) (0) | 2022.12.25 |
3. git 기초 (2) (0) | 2022.12.25 |
2. Git 기초 (1) (0) | 2022.12.25 |
1. Git 설치하기 (0) | 2022.12.15 |