[git] 협업을 위한 브랜치 작업 중, 메인 브랜치 업데이트 적용 방법, merge 방법

2025. 7. 24. 16:26·[MAC]트러블슈팅&Tip

협업을 진행하다보면, 특히 기능개발할때 브랜치를 나눠서 작업을 하게된다. 

 

이때 메인브랜치의 변경사항을 현재 브랜치에 적용하고 싶긴하지만, 현재 브랜치의 변경사항으로 덮어쓰고 싶을 때 어떻게 할까?

 

0. 작업용 브랜치 생성 및 이동

# 메인 브랜치 최신 상태로 만들기
git checkout [메인 브랜치]
git fetch origin [메인 브랜치]
git pull origin [메인 브랜치]

# 작업 브랜치 생성 및 이동
git checkout -b [작업 브랜치]

e.g.
git checkout -b feat/feature-name

 

1. 현재 브랜치 확인

# 현재 브랜치 확인 (메인: dev, 작업중인 브랜치: feat)
git branch
  dev
* feat

# 만약 현재 작업중인 브랜치가 아니라면 변경해준다.
git checkout [작업중인 브랜치 명]

 

2. 메인 브랜치 가져오기

# 현재 메인 브랜치의 변경사항을 가져온다.
git fetch origin dev

 

3. 작업중인 브랜치(*feat)의 변경사항을 메인 브랜치 위에 덮어쓴다.

# 충돌 파일에서 feat 변경사항이 항상 우선으로 적용되도록 merge
git merge -X ours origin/dev

자동 병합: src/main/java/com/example/moyeorak/service/EnrollmentService.java
Merge made by the 'ort' strategy.
 src/main/java/com/example/moyeorak/config/SecurityConfig.java     | 12 +++++++++++-
 src/main/java/com/example/moyeorak/controller/UserController.java | 59 +++++++++++++++++++++++++++++++++++------------------------
 src/main/java/com/example/moyeorak/dto/EnrollmentRequest.java     | 15 +++------------
 src/main/java/com/example/moyeorak/dto/EnrollmentResponse.java    |  4 +++-
 src/main/java/com/example/moyeorak/service/EnrollmentService.java | 25 +++----------------------
 src/main/java/com/example/moyeorak/service/ProgramService.java    | 25 ++++++++++++++++++++-----
 src/main/java/com/example/moyeorak/service/UserService.java       | 42 ++++++++++++++++++++++++------------------
 7 files changed, 99 insertions(+), 83 deletions(-)
 
# 작업중인 브랜치의 변경사항 적용
git pull origin [작업중인 브랜치]

 

4. 메인 브랜치의 커밋 내역 위에 작업 브랜치의 커밋이 쌓여있는지 확인한다.

git log --oneline --graph --decorate --all

*   2611a2d (HEAD -> feat) Merge remote-tracking branch 'origin/dev' into feat feat 브랜치 -> 최신 dev 업데이트
|\  
| * 9547725 (origin/fix/token-unauthorized-error-9, origin/dev, origin/HEAD) fix: 인증 실패 시 401 오류로 통일 처리 (refs #이슈번호)
| * 94ef762 (origin/fix/refresh-token-reissue-8) fix: refresh token 재발급 오류 수정 (refs #8)

 

5. 기능 개발 종료 후, 메인 브랜치로 Merge 한다.

# 메인 브랜치로 체크아웃
git checkout [메인브랜치]

# 최신 변경사항 가져오기
git fetch origin [메인브랜치]
git pull origin [메인브랜치]

# 작업한 브랜치를 메인 브랜치로 Merge
git merge [작업한 브랜치]

# 원격 메인 브랜치에 푸시
git push origin [메인브랜치]

 

6. 작업한 브랜치 삭제

# 로컬 브랜치 삭제
git branch -d [작업한 브랜치]

# 원격 브랜치 삭제
git push origin --delete [작업한 브랜치]

'[MAC]트러블슈팅&Tip' 카테고리의 다른 글

[MAC] Mac to Windows 원격접속하기 (Windows App 사용)  (23) 2025.04.07
[MAC] VMware Fusion - Ubuntu 환경에서 공유폴더 사용  (0) 2025.04.01
[MAC] M1/M2 VWware 설치 및 Ubuntu GUI 설치  (0) 2025.03.10
MAC Dockerfile apt 오류 (ERROR: failed to solve: process "/bin/sh -c apt install openssh-server vsftpd apache2 net-tools -y" did not complete successfully: exit code: 100)  (2) 2024.04.03
맥 M1/M2 VirtualBox 다운로드 안될 때(Unsupported hardware architecture detected!)  (1) 2023.11.14
'[MAC]트러블슈팅&Tip' 카테고리의 다른 글
  • [MAC] Mac to Windows 원격접속하기 (Windows App 사용)
  • [MAC] VMware Fusion - Ubuntu 환경에서 공유폴더 사용
  • [MAC] M1/M2 VWware 설치 및 Ubuntu GUI 설치
  • MAC Dockerfile apt 오류 (ERROR: failed to solve: process "/bin/sh -c apt install openssh-server vsftpd apache2 net-tools -y" did not complete successfully: exit code: 100)
공부하는 나무꾼
공부하는 나무꾼
  • 공부하는 나무꾼
    헤맨 만큼 내 땅이다
    공부하는 나무꾼
  • 전체
    오늘
    어제
  • 글쓰기/관리
    • 분류 전체보기
      • AWS
      • SAA-C03
      • 네트워크 보안
      • 최신정보보안이론
      • 컴퓨터네트워크
      • OpenFaaS
      • C++
      • Java
      • HTML, CSS
      • 자료구조
      • 알고리즘
      • 정보보안인재양성
      • [MAC]트러블슈팅&Tip
      • 공부
      • Web(Django)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    Web Server
    AWS
    자격증
    등록번호
    SAA-C03
    웹애플리케이션서버
    aws-c03
    java #자바 #객체지향프로그래밍 #복습
    웹서버
    cloud
    웹클라이언트
    클라우드
    WAS
    web application server
  • 최근 댓글

  • hELLO· Designed By정상우.v4.10.3
공부하는 나무꾼
[git] 협업을 위한 브랜치 작업 중, 메인 브랜치 업데이트 적용 방법, merge 방법
상단으로

티스토리툴바