Data Engineering/실습

[Git] pull, branch, push, PR, merge 실습

qqprty 2024. 7. 11. 09:38

1. KIA branch 생성

git pull #main에서 가져오기
git branch v1.4.0/KIA #branch 생성
git checkout v1.4.0/KIA #KIA branch 전환

vi README.md #vim으로 readme file 수정
git add . 
git commit -a #commit all
git commit --amend #현재 브랜치 마지막 커밋 교체

git push --set upstream origin v1.4.0/KIA
git push

 

2. KIA 기능 추가 (기능 추가한 코드 있다고 가정하고 file 추가)

git pull 
vi kia.html #급발진 방어기능 관련 파일 추가
git add .
git commit -m "급발진 방어 기능"
git pushh

 

3. HYUNDAI branch 생성, 기능 추가

git branch v1.5.0/HYUNDAI
git checkout v1.5.0/HYUNDAI
cp kia.html hyundai.html #대충 비슷한 기능으로 만들었다고 가정
git add .
git commit -m "same function as kia"
git push --set-upstream origin v1.5.0/HYUNDAI
git push

 

4. pull request & merge

 

1. main

 

2. v1.4.0/KIA (main pull)

 

3. 1.5.0/HYUNDAI (KIA pull)

PR&Merge하지 않은 현 상태는 다음과 같다.

깃헙 웹에 들어가면 v1.4.0/KIA 와 v1.5.0/HYUNDAI 의 PR과 MERGE 요청이 떠있는걸 알수있다.

 

여기서 v1.5.0/HYUNDAI를 main과 MERGE하면, 자동적으로 v1.4.0/KIA도 MERGE 되어 요청이 사라진 것을 알 수있다.

왜냐하면 v1.5.0/HYUNDAI 가 v1.4.0/KIA 내용을 pull하여 (main으로부터의 변경사항을 반영) 수정된 버전이기 때문에 자동적으로 KIA의 변경사항 또한 자동 처리 되기 때문

 

위 방법과 똑같이 HYUNDAI 에서 브랜치를 파서 BENZ라고 만들고 같은 프로세스로 진행하면 같은 방식으로 병합함을 볼 수 있다.

'Data Engineering > 실습' 카테고리의 다른 글

fastapi + movie api  (2) 2024.08.13
영화진흥위원회 API (pytest 실습)  (0) 2024.08.01
argparse 를 이용한 히스토리 cli 고도화  (0) 2024.07.29
DB 파티셔닝 (Partitioning)  (0) 2024.07.29
Parquet 파일 형식  (0) 2024.07.26