티스토리 뷰
본 내용은 생활코딩 - 지옥에서 온 git을 보고 공부했습니다. 조언은 언제든지 감사합니다 !
Git의 merge는 병합 시 같은 파일의 소스코드 변경사항을 자동으로 병합해주는 훌륭한 기능이 있다.
먼저 master에 test1.txt 파일의 내용이다.
작성해 주고 commit 한다.
그 다음 exp 브랜치를 새로 분기하면 exp 브랜치에도 test1.txt 파일이 있게 되는데, 이 파일을 조금 수정한다.
그런 다음 master 브랜치에 exp 브랜치를 merge 하면
master의 test1.txt 파일에 수정한 내용이 그대로 병합됐다.
이 git의 자동 병합 기능은 매우매우 매력적인 기능이다.
단, 주의해야 할 점은 같은 부분을 수정했을 때다.
위에서 function B()를 master는 master로 인자 값을 넣었고 exp는 exp로 인자 값을 넣어 줬다.
즉 같은 부분을 서로 다르게 수정한 것이다.
이럴 경우 merge를 하면 CONFLICT 즉, 충돌이 발생한다.
메세지에 자동 병합을 실패했고, 충돌이 발생한 부분을 수정한 뒤 commit을 하라고 알려준다.
git status를 입력하면 병합되지 않은 경로가 있고 해당 경로가 test1.txt 파일이라는 것을 확인할 수 있다.
이를 해결하는 방법은 충돌이 발생한 부분을 직접 수정해 줘야 한다.
test1.txt 파일을 열어보면 위에서 처럼 파일 내용이 변경되어있다.
===========를 기준으로
<<<<<<< HEAD 아래 부분은 현재 checkout 되어있는 branch (master)가 수정한 내용이고,
>>>>>>>>> exp 위 부분은 exp branch가 수정한 내용이다.
이를 관리자가 알맞게 수정해 주면 된다.
예를들어
이런식으로 수정했다고 친 다음
충돌이 일어난 파일을 add 해주면
git status를 통해 충돌이 고쳐졌다고 알려주고 test1.txt가 commit 을 할 수 있는 상태인 것을 확인할 수 있다.
'Git 공부' 카테고리의 다른 글
Git Github 사용법 (0) | 2019.03.18 |
---|---|
Git fatal: refusing to merge unrelated histories (0) | 2019.03.15 |
Git merge (fast forward, merge commit) (0) | 2019.03.11 |
Git 에러 fatal: Not a valid object name: 'master'. (0) | 2019.03.11 |
Git branch merge (0) | 2019.03.11 |
- Total
- Today
- Yesterday
- git branch
- spring mvc
- 스프링 컨테이너
- 선형 회귀
- Spring Data JPA
- Thymeleaf
- 쉽게 배우는 운영체제
- Do it! 정직하게 코딩하며 배우는 딥러닝 입문
- 스프링
- git merge
- 파이썬 for Beginner 연습문제
- 쉘 코드
- 스프링 테스트
- jsp
- 프로그래머스
- Gradle
- 김영환
- Spring
- 운영체제 반효경
- 패킷 스위칭
- 방명록 프로젝트
- 지옥에서 온 git
- JPA
- 스프링 mvc
- Python Cookbook
- Spring Boot
- git
- 파이썬 for Beginner 솔루션
- 생활코딩 javascript
- Computer_Networking_A_Top-Down_Approach
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |