1. Git Branch
Git Branch란?
독립적으로 어떤 작업을 진행하기 위한 개념으로 각각의 Branch는 다른 Branch의 영향을 받지 않음.
Git Branch 종류
메인 Branch : 배포할 수 있는 수준의 안정적인 Branch
토픽 Branch : 기능 추가나 버그 수정과 같은 단위 작업을 위한 Branch
Git Branch 생성
Branch는 아래의 명령어로 생성할 수 있다.
->like_feature은 branch의 이름
Git Branch전환(1)
현재의 Branch는 아래의 명령어를 통해 확인할 수 있다.
Git Branch전환(2)
Branch전환(이동을 의미하며 *표시가 이동한다)은 아래의 명령어를 통해 할 수 있다.
Git Navigation
checkout은 branch를 전환하는데 사용할 수 도 있고 아래와 같이 git log로 확인한 snapshot을 넘나들때도 사용이 가능하다.
이렇게 snapshot의 hash값을 이용하여 과거의 파일 내용을 확인 할 수 있다.
2. fast - forward
like_feature Branch의 working directory에서 새로운 정보를 넣어 commit해보겠다.
먼저 like_feature로 위치를 이동시킨다. git checkout like_feature
3.Merge
like_feature Branch에서의 작업을 끝마치고, master Branch로 통합한다.
먼저 master Branch로 이동하여 like_feature Branch를 병합한다.
->master를 중심으로 병합된다.
fast - forward
like_feature Branch의 내용이 master Branch에서 업데이트 된 내용이기 때문에 곧바로 merge가 되는 것을 확인할 수 있다.
이렇게 merge가 이루어지는 것을 fast-forward라고 부른다.
갈라지는 branch
이번에는 각각의 Branch의 working directory에서 같은 파일의 내용을 다르게 수정해보겠다.
명심해라! 각각의 Branch는 다른 Branch의 영향을 받지 않기 때문에, 여러 작업을 동시에 진행할 수 있다.
git log --graph --all을 사용하면 commit graph를 확인 할 수 있다. 추가로 옵션을 주어서 더 깔끔하게 볼 수도 있다.
Git Branch 삭제
사용을 마친 branch는 git branch -d <branch name>을 이용하여 삭제할 수 있다.
4.conflict 해결
Merge conflict
Merge한 두 Branch에서 같은 파일을 변경했을 때 충돌이 발생한다.
git status 명령어로 어느 파일에서 충돌이 발생했는지 확인한다.
Git Merge충동 해결
수정 완료후, '<<<<<<<<<<','======', '>>>>>>>>'포함된 행을 삭제해준다.
수정 완료 후 git add,git commit과정을 거쳐 다시 Merge해준다.
Git Merge 충돌 방지
master Branch의 변화를 지속적으로 가져와서 충돌이 발생하는 부분을 제거
'Programmer > 그 외' 카테고리의 다른 글
[리뷰] 코딩 인터뷰 완전 분석 - 기술적 문제 (0) | 2020.12.07 |
---|---|
[git] Git 원격 저장소 (0) | 2020.06.03 |
[git] Git 시작하기 (0) | 2020.06.02 |
[git] Git의 특징 (0) | 2020.05.30 |
[git] 명령어 정리 (0) | 2020.05.10 |