Git: Version Control System(VCS)
즉, git은 프로젝트의 버전관리를 도와주는 시스템이고 github은 호스팅 사이트
Gitcommit message 대충 작성하지 말기!
1) git 시작: git init (=녹화, initialize)
(내가 만든 폴더 안에서 git init
치기 )
2) git 상태 확인: git status
(git으로 관리하는 현재 상태를 봄- 변경, 생성, 삭제 등(장바구니 추가 등 모든 내용 확인 가능))
3) 파일 수정 이력 기록 준비: git add > 커밋 가능
(임시저장 느낌 > 장바구니에 파일 담기)
(git add . : 현재 경로)
4) 파일 수정 이력 기록: git commit
(변경사항 중 장바구니에 담은 것들 구매 확정 > 특정한 이력으로 남김- 고유번호(commit hash)가 남음)
(git commit -m"메세지" : 메세지만 봐도 내용을 알 수 있도록 메세지를 남김)
5) commit 이력 보기: git log
(여태까지 사이트에서 구매했던 내역들 - 사이트에서 이력으로 남긴 것들)
6) 레파지토리랑 연결: git remote
7) 레파지토리에 commit을 넣음: git push origin master(main)
=> 폴더를 삭제하면 모든 기록들이 삭제됨
1.git push origin feature/login 임시공간에 코드 업로드 하기
(왜 master에 바로 안 올리는 이유: 검토가 필요함)
이에 대한 코멘트(리뷰)가 있으면 feature/login에서 수정 진행
그 후 git push origin feature/login 하여 다시 업로드
(commit: 의미있는 단위라고 생각했을 때 commit 진행)
리뷰가 모두 통과되었을 때 브랜치를 합침 (merge)
github에서는 merge가 되어있는데 아직 master 브랜치에는 존재하지 않음
git pull origin master : 마스터에 있는 내용을 끌고 옴
master 브랜치에서 합쳐줌
다음 작업을 하고 싶으면 master > feature/main으로 가져감
git merge master을 하면 master에 있는 내용이 feature/main으로 들어감 (내꺼에 다시 반영)
반드시 지켜야하는 원칙
1. master 브랜치는 신성하다: 코드를 master에서 치지 말자! update만하자
(작업은 모두 feature에서 하자)
2. 모든 데이터의 흐름은 한방향으로만 흐른다.
*vscode에서 폴더열기
(github 업로드 방법)
git branch > git branch feature/nahyunlee > git checkout feature/nahyunlee > git branch(branch가 바뀌었는지 확인) > git status(현재 상태 확인) > git add > git status(현재 상황 확인) > git commit (i누르고 내용 작성 후 esc> :wq) > git log(commit 내용 확인) > git push origin feature/nahyunlee(feature폴더에 업로드) >pull request(PR)
merge 후
git checkout master(마스터로 들어감) > git pull origin master (마스터와 싱크를 올려줌)