git은 버전관리 시스템, github은 원격 저장소이기 때문에 둘은 다른 개념이다.
소스코드를 효과적으로 관리하기 위해 개발된 '분산형 버전 관리 시스템'
시작
버전관리를 하고자 하는 파일에서 git init (bash 명령어) 실행
해당 파일에 버전관련 변경 사항에 대한 내용이 저장되는 .git폴더 생성됨
git init
버전 관리를 시작할 폴더를 지정
git add [추가할 파일경로]
변경된 파일을 스테이지 영역에 추가
git commit -m "[커밋 메시지]"
커밋 메시지로 커밋 진행
--amend -m [메시지]: 최근 커밋메시지를 수정
git branch
브랜치 이동 및 이름 변경 등 브랜치 설정 변경
git config [카테고리][옵션명]
각종 git 설정 편집
git log
커밋 기록 호출
git reset
[파일명]: 스테이징 영역에서 제거
[커밋해시]: 해당 커밋 삭제
옵션 Working Directory Staging Area Repository --mixed 유지 변경 변경 --hard 변경 변경 변경 --soft 유지 유지 변경
git checkout [커밋해시]
해당 해시번호에 해당하는 커밋으로 버전을 되돌림
Branch
독립적인 개발을 위해서 코드를 통채로 복사하는 것
commit
스테이지 영역에 담긴 버전 정보를 하나의 버전으로 등록하는 행위
stage
새로운 버전으로 등록할 내용을 담아두는 영역
HEAD
현재 위치한 버전
main
기본 브랜치명
git으로 관리한 버전들을 저장하는 원격 저장소
git과 github는 분리해서 생각해야 한다
| 제목타입 | 리스트 |
|---|---|
| Feat | 기능(새로운기능) |
| Fix | 버스(버그수정) |
| docs | 문서수정 |
| style | 코드변경X경우 |
| refactor | 리팩토링 |
| test | 테스트코드 추가 |
| chore | 빌드 업무 수정 |
머리글
내용
꼬리글
실제 운영중인 프로젝트의 브랜치
새로운 기능을 개발하는 프로젝트의 브랜치
새로운 기능을 개발하기 위해 개발자가 사용하는 브랜치

Merge는 로컬에서 하지 않고 Pull Request를 올려 팀원들의 검토 이후 github에서 merge하고 로컬로 fetch한다.