(gitHub) 브랜치와 충돌 처리
💼📝🔑⏰ 📙📓📘📒🎓
💼 Branch
나무에 빗대어 설명해보자면 나무는 같은 뿌리에서 나왔지만 서로 다른 가지로 뻗어나가는 모습을 상상하면 이해하기 쉽다, 이 처럼 브랜치는 base(뿌리)를 둔 상태에서 자신이 테스트나, 다른 사람이 이용할 목적(가지)으로 사용한다.
📝 Branch 실습
git log --all --graph --oneline
: 로그 확인하는 명령어- all 옵션 : 모든 브렌치를 보기,
- graph 옵션 : 시각화 하기
- oneline 옵션 : 간략하게 보기
git branch [생성할브랜치이름]
: 브랜치 생성 명령어git checkout [전환할브랜치이름]
: 브랜치 전환 명령어
📝 브랜치 병합(Merge)
base를 바탕으로 2개의 브랜치를 병합하여 새로운 버전으로 만드는 것을 merge commit 이라 한다
🔑1) master <- 브랜치 병합
- 먼저 master branch 상태가 되어야 한다.
git checkout master
git merge [브랜치명]
: master에 브랜치를 병합하는 명령어. 끝.- 다시 돌아가고 싶다면..
git reset --hard 6ab5593
: merge 전에 해시코드 입력
💼 충돌(Confilict)
서로 다른 두개 branch를 병합할 때 발생하는 같은 파일 안에서의 소스내용이 상이할 때 발생하는 이벤트이다.
- 같은 파일의 다른 부분끼리 merge를 하는 경우에는 자동으로 merge가 된다.
- 문제는 같은 파일의 같은 부분이 수정되어 있는 경우이다.
📝충돌을 해결하는 과정
충돌 됬을 경우 특수문자의 의미
<<<<<<< HEAD
: ====를 경계로 위쪽은 master에서 작성한 소스이다.=======
: 충돌난 부분의 구분자를 뜻한다>>>>>>> [브랜치이름]
: ====를 경계로 아래쪽은 브랜치에서 작성한 소스이다.
충돌된 내용을 전부 필요한 경우
- 특수문자들을 다 지우고 파일을 저장한다.
git add [충돌 난 파일이름]
: 충돌 부분을 수정했다고 깃에게 알려준다.git status
: add한 부분이 잘 적용되어 있나 확인git commit -m "충돌해결"
: 커밋하면 브랜치와 master가 합쳐진 것을 볼 수 있다.
💼 p4Merge
모든 운영체제에 잘 호환 되는 무료 MERGE 툴
p4Merge
을 구글에 검색하여 다운로드git config --global merge.tool p4mergetool
: merge 설정git config --global diff.tool p4merge
: diff 설정git config --global mergetool.p4merge.path 'C:\Program Files (x86)\Perforce\p4merge.exe'
: merge 설정git config --global difftool.p4merge.path 'C:\Program Files (x86)\Perforce\p4merge.exe'
: deff 설정cat ~/.gitconfig
: 설정되어 있는지 확인하는 명령어
댓글남기기