B. Review push, fetch, pull
Gerrit에서 성공적으로 Project을 clone받아왔습니다.
보다 실전에 가까워진듯한 느낌이 드는데요. 이번 실습에선 Gerrit의 Pending Change에 작업한 내용을 Review Push해 볼 수 있도록 하겠습니다.
Gerrit에서 Clone받은 Workspace로 이동하세요.
$ cd gerrit_test : clone 으로 받아온, gerrit 프로젝트 명과 같은 Workspace
Review Push
열일했다고 가정하고, commit을 하나 만들어 보겠습니다.
...
- 리뷰 푸시된 커밋을 눌러보면 다음과 같은 Change Screen이 뜹니다.
Change Screen
- Change Screen 은 단일 커밋 내용들의 세부 사항을 표시하고 이에 대한 다양한 조치를 제공합니다.
- Change Screen 구성 요소는 다음과 같습니다.
- Commit Message Block
- Commit Info Block
- Change Info Block
- File List
- Patch Sets
- Download
- Included In
- Star Change
- Related Changes
- Reply
- Changes
- Update Notification
- Plugin Extensions
Change Screen에는 무려 13가지 섹션으로 이루어져있습니다. 실제 저희가 Gerrit을 쓴다면 대부분 이 화면을 쓰게 됩니다. 자세한 설명서는 . 2-1 Gerrit UI Guide 에 있으니, 꼭 한 번 읽어보세요
- 간단한 것부터 해보죠. 가운데를 보면, 담당자, 리뷰어를 설정할 수 있습니다. 아이콘을 누르고, ID나 이메일을 적으면 됩니다. Topic도 간단히 지정해서 관리할 수 있습니다.
- 리뷰어를 지정해 보시고, 토픽도 정해 보세요. 상단 타이틀 바의 My → Changes 엑 가면 나에게 리뷰 오청온 항목 (Incoming Review)을 볼 수 있습니다
지금 보는 Change Screen에서 상단 왼쪽을 보면 현재 리뷰 푸시에 대한 상태가 나와 있습니다. Needs Verified Label은 빌드에 문제가 없는지, CI 서버(Quick Build, Jenkins)가 자동으로 돌아서 빌드 성공 실패를 판단해주고, Verify가 끝나야 리뷰를 할 수 있습니다.
- CI서버에 의해 빌드가 성공하여 Verify Label에 +1을 받았다고 가정하고 리뷰를 진행해 볼께요.
- 리뷰 결과, 수정 사항 없이 Merge 에 필요한 +2를 받았다고 가정하곘습니다.
- All → Merged 로 이동하여 서버에서 생성한 프로젝트의 master branch에 리뷰요청한 커밋이 잘 반영된 것을 확인하세요.
Fetch Merged commit
- 개발자 PC로 와서 , Local Repository로 merge된 리뷰 커밋을 당겨와서 Review 결과를 확인하고 Pull 해서 Merge해 보도록 하겠습니다.
...
git reset --hard HEAD : 모든 변경 무시하고, 현재 버전으로 정리합니다, (staging과 working dir을 싹 비우는 것을 의미합니다.)
git reset --hard HEAD^ : 현재 버전 하나 앞으로 정리 - 최종 Commit 하나 취소 - HEAD^ = HEAD~1
git reset --hard HEAD~2 : 최종 Commit 2개(또는 N개) 취소
git reset --hard origin/master : 서버의 master 버전을 기준으로 롤백
git reset --hard 84cf88 : 특정 Commit 버전으로 롤백
참고 : git reset 의 옵션 ??? --soft , --mixed, --hard