Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[크리스마스 프로모션] 박용타 미션 제출 + PR 과정 공유합니다. #12

Open
wants to merge 239 commits into
base: main
Choose a base branch
from

Conversation

Yongtapark
Copy link

@Yongtapark Yongtapark commented Nov 17, 2023

PR 저장소와 기존 저장소의 병합이 실패하는 경우

병합 문제만을 해결하고자 하시면 3.병합-문제-해결하기 를 참고해 주세요.

1. 기존 작업물에 FORK 저장소 추가하기

우와테크코스 저장소에서 Fork하여 레포지토리를 만든 이후
기존에 작업한 브랜치에 접속합니다.

인텔리제이 하단 git 탭을 클릭하여 Remote 항목에서 오른클릭 -> Manage Remotes 를 클릭

image

+ 버튼을 클릭하여 연결할 원격 저장소를 지정합니다.

image

우와테크코스에서 Fork 하여 생성한 내 저장소의 주소를 추가합니다

image)

처음에 바로 git 목록을 확인하시면 추가한 Fork 저장소가 보이지 않아 당황할수도 있는데요,

파란색 화살표 버튼 (Fetch All Remotes) 을 클릭하시면 원격 저장소 상태가 최신화 됩니다.

image

추가된 PrRepository로 새로운 브랜치를 만들어 체크아웃 합니다.

image

이 상태가 되면 우리가 Fork 했던 저장소의 데이터들을 가져오므로,

당연히 기존 브랜치와는 다르게 초기의 아무것도 없는 기본 모습일 것입니다.

image

2.브랜치 병합하기

여기서 기존 작업물 브랜치와 병합하여 PR을 시도해보겠습니다.

현재 Fork 한 저장소에서 만든 브랜치인 prTest에서 병합하고자 하는 브랜치를 클릭한 후

Merge '기존저장소브랜치' into 'Fork 브랜치' 를 클릭합니다.

image

3.병합 문제 해결하기

앗 오류가 발생합니다.
관련 없는 이력의 병합을 거부한다고 하네요.

image

이 오류는 두개의 브랜치가 서로 다른 커밋 히스토리를 가지고 있을 때 발생한다고 하는데요.

두 브랜치를 비교해보니 현재 Fork 된 저장소에

기존 저장소에서는 없던 커밋이 하나 존재하는듯 합니다.

image

커밋 히스토리가 달라서 병합이 불가능한 경우
강제로 병합할 방법이 존재합니다.

git merge <기존저장소브랜치> --allow-unrelated-histories

위 명령어를 터미널에서 입력해줍시다.

image

그러면 이렇게 병합된 모습을 볼 수 있습니다.

일단 오류가 많지만 무시하고 커밋을 시도합니다

image

그러면 인텔리제이에서 충돌 사항들을 같이 보여주는데요,

Resolve를 클릭합시다.

image

그러면 이렇게 네 파일로 푸시할 것인지(Accept Yours),

기존 Fork 저장소의 파일로 푸시할 것인지(Accept Theirs)

아니면 병합한 체로 푸시할 것인지(Merge) 선택하라고 나오는데요.

전부 Accept Yours를 클릭합니다.

image

이후 다시 커밋을 시도하면 성공하는것을 볼 수 있는데요

다만 이렇게 저는 기존 저장소인 origin으로 설정되어있네요

image

클릭해서 Fork 저장소로 변경해줍니다.

image

그러면 이렇게 커밋이 성공하는걸 볼 수 있습니다.

image

이제 Fork 한 저장소로 이동해 확인해봅시다.

커밋은 잘 진행되었네요.

image

그럼 이렇게 PR이 가능해집니다.

image

Yongtapark and others added 30 commits November 9, 2023 15:05
AppetizerMenu, BeverageMenu, DessertMenu, MainMenu
test : 주문 단건 가격 검증 구현

OrderMenu.calculatePrice
test : 주문 메뉴들의 총 가격 검증

OrderMenuList.calculateTotalPrice
test : OrderMenu.createOrderMenu 검증완료
test : 1월부터 25일까지 할인율 검증
@Yongtapark Yongtapark changed the title [크리스마스 프로모션] 박용타 미션 제출합니다. [크리스마스 프로모션] 박용타 미션 제출 + 기존 저장소와 FORK 저장소 병합 문제 해결 과정 공유합니다. Nov 17, 2023
@Yongtapark Yongtapark changed the title [크리스마스 프로모션] 박용타 미션 제출 + 기존 저장소와 FORK 저장소 병합 문제 해결 과정 공유합니다. [크리스마스 프로모션] 박용타 미션 제출 + PR 과정 공유합니다. Nov 17, 2023
MeanOfRedStone referenced this pull request in MeanOfRedStone/java-christmas-6 Nov 28, 2023
1. ChristmasEventTest
 - orderBeforeDecemberTwentySixth()
  1일 (1000원) 부터 이벤트 기간 내 매일 할인 금액 100원씩 증가
 - orderAfterChristmas()
   1 ~ 25일 사이의 기간에만 할인이 적용되는지 확인
 - orderMoreThanTenThousandBeforeChristmas(), orderUnderTenThousandBeforeChristmas()
  총 주문 가격이 10000원 이상일 때만 이벤트 적용되는지 확인

2. ReservationDateTest
 - countdownBeforeChristmas()
  1일과 25일의 크리스마스 dday인 24, 0을 반환하는지  확인

3. OrderListTest
 - createTwoOrderListsWhichEachOfTotalChargeIsSeventyThousandAndFourtyThousand()
  음식을 총 7만원 ,4만원 치 주문하면 총 가격이 그대로 반환되는 지 확인

4. OrderTest
 - createTwoOrdersWhichEachOfTotalPriceIsFiftyThousandAndThirtyThousand()
  주문서 안의 메뉴 하나가 각 금액이 5만원과 3만원이 되도록 주문하고 해당 금액만큼 반환하는 지 확인

5. Menu
 - findTwoFoodsThatCostThreeThousandAndFiveThousand()
  메뉴판에서 제로콜라와 아이스크림의 가격을 찾으면 해당 음식의 가격만큼 값을 반환하는 지 확인
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant