git rebase
Rebase - 생활코딩
rebase도 병합하는 방법인데 merge 와 결과가 다르다.
생활코딩 영상을 보니 merge와의 차이점이 이해가 가는듯 하다.
계속 공부하면서 익숙해져야겠다.
미션2 : 체스판 생성하기
- 체스판에 해당하는 Board 클래스
- pawns : Pawn 타입의 객체만 담을 수 있는 ArrayList를 생성
- add() : 인자로 받은 pawn을 ArrayList에 담는 기능
- size() : ArrayList의 크기를 반환
- findPawn() : 인자로 받은 숫자의 위치에 해당하는 Pawn 객체를 반환
- BoardTest 클래스
- Pawn 타입의 전역변수 white, black 를 추가
- 체스판에 해당하는 전역변수 board 를 추가
- check() : 예상되는 크기(size), 해당 Pawn 타입 객체의 반환이 예측되는 index값 그리고 Pawn타입의 객체를 인자로 넣어서객체를 board에 추가한 뒤, board 메소드의 반환값과 같은지 비교하는 메소드
- create() : check()메서드를 넣어서 테스트
- Pawn 클래스
- 기본생성자 추가: 기본생성자로 생성된 객체는 white 색을 갖도록 함
- WHITE, BLACK: white, black 의 string 값을 갖는 상수를 추가
- 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 영상보기
- 자바의 정석 진도 나가기
- 명절에 집에 가있는 동안에는 스프링 책만 갖고 가서 읽어야겠다.