Git CH 11~13

문병두·2024년 11월 19일

git

목록 보기
4/4
post-thumbnail

CH11

Merge and Conflict

Git Merge

• 현재 위치한 버전에 다른 버전을 병합하는 작업
• Branch 를 병합하거나
• Push Pull 할때도 일어난

git merge <branch_name>

dev -> main

get merge dev

remote push 배포

remote fetch

merge 결과

conflict

• 두 Branch 에서 같은 버전의 같은 부분을 수정하는 경우, Auto Merge 가 불가능한 상황에서 발생
• 개발자가 직접 해결해야 한다

<<<<<<<< HEAD
print("Hello, cat!”)
========
print("Hello, dog!")

HEAD

• Conflict Message 와 Git Status 로 파악할 수 있다
• Merge 과정에서 충돌 발생시 가운데 =======를 기준으로 충돌 부분을 보여주는데 이를 기준으로 코드 수정

vi 파일

dd 줄 제거
print("Hello, dog!")

HEAD

Push 동작 중 Conflict 상황이 발생하면,
• Push 가 실패함
• Pull 을 해서 Conflict 에러를 확인 할 수있음
Pull 동작 중 Conflict 상황잉 발생하면,
• Fetch 만 되고 Merge 가 실패한 Conflict 상태가 됨
• Conflict 를 해결하면 Merge Commit 이 완료됨
그래서, 바로 Push 하지말고 항상 Pull 먼저 하는 습관이 좋다!!

git tag

특정 버전에 Tag 를 달아놓을 필요가 있을 때 사용

git tag <tag_name>

git tag v0.3

목록 확인

git tag

Tag 생성하기 - 특정 버전

git tag <tag_name> <commit_id>

checkout 통해 git tag 할 수 있다.

Tag 배포하기 - Remote

git push origin <tag_name>

Tag 상세보기
git show <tag_name>

Tag 삭제하기 - Local

git tag —delete <tag_name>

Tag 삭제하기 - Remote
git push origin —delete <tag_name>

README

• 프로젝트에 대한 설명, 사용방법, 라이센스, 설치법과 같은 부분에 대해 기술하는 파일

profile
데이터분석가

0개의 댓글