Branch관련 명령어
Git branch: 현재 폴더의 branch상태를 보여줌. *표시 된 것이 현재 branch. 기본 branch의 이름은 master
Git branch etc: etc라는 이름의 브랜치 새로 만들기. 현재 시점에서 분기된다.
Git checkout etc: 현재 브랜치에서 체크아웃(빠져나가) etc브랜치로 들어감. etc 브랜치로 들어가서 새로 파일을 생성 한 경우 master브랜치로 다시 돌아오면(git checkout master) 새로 생성한 파일은 보이지 않게 된다. 이것이 branch의 신기방기한 능력.
Git log --branches --graph --decorate: git log를 branch정보가 담긴 그래프로 그려서 보여줌.
Git diff master..etc: master에는 없고 etc에는 있는 정보를 보여줌.
Git merge etc: 현재 branch에 etc브랜치를 가져와 merge.
Git branch -d etc: etc브랜치 삭제
Merge충돌 시 해결 법
자동 merge가 되지 않는 경우(동일 파일의 같은 부분을 branch마다 상이한 형태로 수정 한 경우) 수동으로 충돌을 해결해야 한다.
Step1: git status로 어디서 conflict가 생겼는지 찾는다.
Step2: 해당 파일을 vi로 열어 충돌 난 부분을 찾는다.
- <<<<<<<HEAD와 =======사이는 현재 branch에서 수정된 내용이고 =======와 >>>>>>>exp는 병합하려는 branch에서 수정된 내용이다. 이 부분을 다 수정 한 후 <<<<<HEAD와 ======와 >>>>>exp태그를 모두 삭제한 후 저장한다.
Step3: 수정한 파일을 다시 git add 파일명 하고 commit해준다.
Step4: merge가 잘 되었는지 git log --branches --graph --decorate로 확인한다.
'Programming > Git' 카테고리의 다른 글
Git 원격 저장소 (0) | 2018.06.19 |
---|---|
Git basic (0) | 2018.06.19 |