문제 상황 : push를 하는 과정에서 ->
Updates were rejected because the remote contains work that you do not have locally.
라는 오류가 발생함
원인 : github repository를 생성할 때 readme.md를 생성했기 때문에 발생하는 오류라고 함.
해결 방법 : pull을 해주면 됨. git pull origin master
2번째 상황 :
hint: Updates were rejected because the tip of your current branch is behind
hint: its remote counterpart. Integrate the remote changes (e.g.
hint: 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
라는 오류 발생.
원인 : 데이터 유실 등 문제가 있을 수 있는 부분이 있어 git에서 처리 되지 않도록 에러를 띄우는 것
해결 : 임시방편으로 "+"를 이용. git push -u origin +master 인데, 나는 내 브랜치만 바꾸면 돼서 git push -u origin +브랜치명 을 입력해줌. -> push 완료
"+"는 강제푸시하는 커맨드이고 기존 커밋이 다 날아간다.
(git push -u origin는 업스트림 관련된 명령어인데, "+" 가 어떤 기능이기에 강제푸시처럼 사용되는지 아직 잘 모르겠다.
git push -u origin 업스트림)
<수정 01/06> 강제푸시는 -f, --force 이다.
나는 내 브랜치만 강제푸시하고 싶었기 때문에 +master에서 master 자리에 브랜치명을 넣어서 시도해봤다.
정말정말 다행히 내 브랜치만 건들여졌고 다른 브랜치, master는 무사했다...
히스토리 들어가서 예전파일로 돌리기도 하고
2시간 가까이 reset, revert 오만가지 다 찾아봤는데, 함부로 실행 안 하길 잘 했고 너무 깊이 들어간다 싶으면 처음부터 다시 해결해보고 다시 돌아가서 해결해보고 하다가 해결책을 찾았다.
<배운내용>
repository package
실제로 DB에 접근하는 객체이다.
Persistence Layer(DB에 data를 CRUD하는 계층)이다.
Service와 DB를 연결하는 고리의 역할을 한다.
SQL를 사용(개발자가 직접 코딩)하여 DB에 접근한 후 적절한 CRUD API를 제공한다.
JPA 대부분의 기본적인 CRUD method를 제공하고 있다.
extends JpaRepository<User, Long>
https://gmlwjd9405.github.io/2018/12/25/difference-dao-dto-entity.html
보드에 id로 되어있으니까
보드에서 파인드바이 코맨
회원탈퇴요청오면 검증하고
보드랑 커맨트에 유저아이디가 있어서
유저서비스에 탈퇴메소드 만들어서
요청이 오면 게시글이랑 댓글은 삭제하고 유저리포지토리에서