[TIL] 2월 10일

yeon·2021년 2월 10일
0

git rebase

Rebase - 생활코딩

rebase도 병합하는 방법인데 merge 와 결과가 다르다.

생활코딩 영상을 보니 merge와의 차이점이 이해가 가는듯 하다.

계속 공부하면서 익숙해져야겠다.

미션2 : 체스판 생성하기

  1. 체스판에 해당하는 Board 클래스
  • pawns : Pawn 타입의 객체만 담을 수 있는 ArrayList를 생성
  • add() : 인자로 받은 pawn을 ArrayList에 담는 기능
  • size() : ArrayList의 크기를 반환
  • findPawn() : 인자로 받은 숫자의 위치에 해당하는 Pawn 객체를 반환
  1. BoardTest 클래스
  • Pawn 타입의 전역변수 white, black 를 추가
  • 체스판에 해당하는 전역변수 board 를 추가
  • check() : 예상되는 크기(size), 해당 Pawn 타입 객체의 반환이 예측되는 index값 그리고 Pawn타입의 객체를 인자로 넣어서객체를 board에 추가한 뒤, board 메소드의 반환값과 같은지 비교하는 메소드
  • create() : check()메서드를 넣어서 테스트
  1. Pawn 클래스
  • 기본생성자 추가: 기본생성자로 생성된 객체는 white 색을 갖도록 함
  • WHITE, BLACK: white, black 의 string 값을 갖는 상수를 추가
  1. PawnTest 클래스
  • create_기본생성자() 메서드 추가: 기본생성자로 객체 생성시 객체의 color가 white인지 확인해주는 코드를 작성

두번째 미션 진행후 PR했는데 conflict발생, 리뷰어가 컨플리트 해결 요청함

[Git] Pull request에서 발생하는 충돌 해결하기

위의 블로그 내용중 Fork된 저장소와 upstream 브랜치간 conflict 해결이라는 글이 없었으면 혼자 해결할 수 있었을까...

upstream 내 브랜치의 변경사항을 step2로 pull 해서 인텔리제이에서 파일(코드)를 수정하고 다시 commit해주니 컨플릭트가 해결 되었다.

PR하기 전에 upstream의 내 브랜치를 rebase 했는데 왜 충돌이 일어났는지 모르겠다
→ 리뷰어가 설명해주셨는데 천천히 곱씹어 봐야겠다
근데 local 에서 origin으로 commit, push한 것이 자동으로 PR에 반영되네.... 신기하다. Github 짱이네


오늘 한일

  • rebase와 merge의 차이, 생활코딩 영상을 봤는데 감이 잡힐 듯하지만 여전히 명확하게는 잘 모르겠다.
  • 미션2를 PR하다가 충돌이 발생했는데 브라이언이 충돌해결을 먼저 하라고 하셔서 검색해서 해결은 했는데 PR전 upstream을 rebase했는데 충돌 원인이 정확히 이해가지 않는다.

Todo

  • (내일)
    • 왜 컨플릭트가 발생했을까 더 고민해보기
    • 이코테 알고리즘
    • OKKY 박재성님 TDD 영상보기
    • 자바의 정석 진도 나가기
  • 명절에 집에 가있는 동안에는 스프링 책만 갖고 가서 읽어야겠다.

0개의 댓글