File > import
Git > Projects from Git선택 > Next클릭
Clone URI선택 > Next
URI에 클론할 URI(포크한 레파지토리)주소 입력
복사
입력!
+clone은 커밋 내역을 가져오는 것이기 때문에 .git파일도 같이 복제된다. 따라서 git init 필요없음
프로젝트명 입력하고 Finish
clone 완료!
이제 프로젝트를 클론해 가져왔으니 내 브랜치를 만들어보자
main브랜치 그대로 작업해도 좋지만 권장하지는 않는다
터미널을 보면 끝에 파란색으로 (main)이 적혀있으면 내 현재 branch는 main이라는 의미
이제 hym이라는 branch를 만들어 현재 브랜치를 hym으로 바꿔보자
git checkout -b hym 입력
현재 브랜치가 hym으로 바뀐것을 확인할 수 있다
주석을 추가하고 ctrl+s를 누르면 TodoController파일 앞에 >표시가 붙어있는 것을 볼 수 있다
">" 표시는 파일이 수정 됐다는 뜻으로 modified 상태이다.
수정된 파일을 stage에 올리고 commit, push 하면 내 포크된 레파지토리에 수정사항이 반영된다.
- springboot는 git 명령어 대신 간단하게 add, push가 가능하다.
Unstage Changes영역에 내가 수정한 파일이 >표시로 올라가있다. 수정은 되었지만 아직 stage영역에 올라가 있지 않은 파일이다. 커밋을 하기 위해 수정된 파일을 stage 영역에 올려보자(git add의 역할)
이제 커밋을 위한 준비가 다 되었으니 커밋메시지를 작성하고 커밋해보자.
커밋메시지는 제목과 본문으로 이루어져 있으며 변경사항을 최대한 자세하게 적는 것이 좋다.
springboot는 커밋과 동시에 push가 가능하므로 동시에 진행해보자
(commit은 로컬저장소에만 저장되는 것이고, push를 해야 원격저장소인 깃허브에 저장되게 된다)
그러면 또 이런 창이 뜰 것이다.
이 창은 포크한 레파지토리에서 변경된 사항을 origin에도 push할 것임을 물어보는 것이므로 일단은 무시
커밋메시지와 변경사항이 잘 push되었다는 것을 확인할 수 있다.
그럼 이 변경사항을 본 프로젝트에 적용하고 싶으면 pullrequest를 이용하면 된다.
pullrequest를 요청하면 본 프로젝트의 owner가 변경사항을 검토하고 이상이 없으면 merge해 줄 것이다. owner가 pullrequest를 수락해 줘야 내 변경사항이 본 프로젝트에 반영이 된다.
Contribute > Open pullrequest
상단의 브랜치에 주의 나는 hym브랜치로 main에 pullrequest를 요청할 것이다. > 커밋메시지 작성하고 Create pull request 클릭
pull request요청 완료
이제 pull request요청을 수락하고 merge해보자
본 프로젝트의 레파지토리를 들어가면 상단에 Pull requsts에 알림이 떠있는 것을 확인할 수 있다.
Pull requests 클릭 > 요청된 pull request 클릭하면 Files changed에서 변경사항을 확일할 수 있다.
(변경사항에 대한 리뷰도 남길 수 있다.)
코드 확인 후 문제가 없으면 Merge pull request클릭
본 프로젝트에 변경사항이 잘 반영된 것을 볼 수 있다.