git은 컴퓨터 파일의 변경사항을 추적하고 여러 명의 사용자들 간에 해당 파일들의 작업을 조율하기 위한 분산 버전 관리 시스템이다
github는 분산 버전 관리 툴인 깃 저장소 호스팅을 지원하는 웹 서비스이다.
*git이랑 github는 다른 것이다!!
코드리뷰는 개발자가 작성한 코드를 다른 사람들이 검토하고 피드백을 전달하며, 피드백을 바탕으로 다시 작성자가 반영하여 수정하는 과정을 뜻한다.
git configuration을 세팅 후 github의 repository를 local에 clone하여 새로운 branch를 만들어 main(or master) branch에 merge하기까지의 과정
git config --global user.name [github username]
git config --global user.email [github email]
git config --global core.editor "vim"
git config --global core.pager "cat"
# git config --list 명령어로 확인할 수 있다.
mkdir dev
# dev라는 폴더 생성
cd dev
# dev로 이동
git clone [github repository address]
# github repository의 폴더를 현재 컴퓨터에 받아옴
# 이 폴더는 git에서 관리한다.
git branch test
# test라는 branch를 생성
git checkout test
# test branch로 branch 변경
# checkout이 안될 시 switch를 사용해본다.
# 그 후 코드(내용)을 수정
# index.html을 수정했다고 가정하자
git add index.html
# index.html이 stage에 올라간다.
git commit
git commit을 하면 vi 편집기 commit 멘트를 남길 수 있도록 한다.
기본 상태는 normal mode이다.
i 를 누르면 insert mode로 변환된다.
그 후 원하는 글을 작성 후
esc버튼을 누르면 다시 normal mode가 된다.
:wq를 입력 후 엔터를 누르면 저장이 되고 vi편집기에서 빠져나오게 된다.
다른 명령어를 알고싶으면 명령어 찾기를 클릭하자
커밋멘트까지 남겼으면 git repository에 push를 해보자
git push origin test
# test branch에 commit한 파일을 올린다.
그 후 github repository를 연다.
메뉴 우측의 setting -> manage access에서 리뷰를 해줄 사람의 github username을 입력하여 리뷰어로 와달라고 초대장을 보낸다.
pull requests에 들어가 main <- test로 merge하기 위한 Create pull request를 클릭한다.
(우측 사이드바 상단에서 Reviewers가 원하는 리뷰어로 되어있는지 확인)
그러면 리뷰어가 괜찮다 싶으면 Approve와 멘트
수정할 것이 더 있으면 Request changes라는 버튼을 눌러 확인을 해줄 것이다.
수정이 있으면 위와 같은 과정을 반복하면 되고, 수정할 것이 없다면 리뷰어 또는 본인이 merge를 눌러 main(or master) branch에 merge시켜주면 github에는 main(or master) branch에 수정된 파일이 합쳐질 것이다.
하지만 본인 폴더로 이동하여 branch를 main(or master)로 이동 후 파일을 확인하면 merge된 파일과는 다르다는 것을 발견하게된다.
왜냐하면 github에서 merge된 파일이 아직 본인 컴퓨터에 동기화 되지 않았기 때문이다.
그럼 동기화를 시켜보자
git checkout main
# 본래의 branch로 변경
git pull origin main
main branch를 받아온다.
다른 좋은 명령어 보기
끝!!