git merge <branch_name>
현재 위치한 버전에 다른 버전을 병합하는 작업
Branch를 병합하거나 Push, Pull할 때도 일어남
Main Branch → Dev Branch 를 병합 ⠀⠀⠀⠀⠀
Dev Branch → Main Branch 를 병합⠀⠀⠀⠀⠀
변경 사항이 없을 때 병합을 하면 Head만 바뀌거나 아무변화 일어나지 않음
✔︎ Main Branch 변경 사항이 없을 때 Dev Branch 를 Merge
두 Branch에서 같은 버전의 같은 부분을 수정하는 경우, Auto Merge가 불가능한 상황에서 발생
개발자가 직접 해결해야 한다
<<<<<<<< HEAD
print ("Hello, cat!")
=======
print ("Hello, dog!")
>>>>>>>> HEAD
위 같은 형태로 오류가 나타남
Merge 과정에서 충돌 발생시 가운데 ======을 기준으로 충돌부분을 보여주는 데 이를 기준으로 코드 수정
print("Hello,cat!")
git add <conflict_file_name>
git commit -m <merge_message>
git commit -i로 강제 commit할 수 있음(참고) commit 이 실패하는 경우, git commit -i 로 강제실행할 수 있음
💡 Push 동작 중 Conflict 발생
- Push 가 실패
- Pull 을 해서 conflict 에러를 확인 가능
⠀
💡 Pull 동작 중 Conflict 발생- Fetch 만 되고 Merge가 실패한 상태
- Conflict 를 해결하면 Merge Commit 이 완료됨
⠀
✅ 바로 Push 하지 말고 항상 Pull 먼저 하는 습관을 들이자!
- Remote Repository 생성
⠀-> merge_project라는 이름으로 생성, README.md file 생성- 주소 + Token 복사
- Local Repository로 Clone
-> 아직 branch는 main 하나만 있고 dev는 없음
-> 현재 main의 최신 버전으로 dev2가 생성됨
-> message는 자동으로 생성된다 (수정가능)
vi로도 수정 가능 - D누르고 방향키로 삭제 후 수정 / dd는 줄 삭제
💡
vi main.pyconflict 화면
⠀print("hello, cat")빼고 모두 삭제하기 (<<<<,====이런것도 전부 삭제)![]()