Git 설정하고 초기화 하기
- git init (git 초기화)
- git config --list (git 환경설정)
- git config --local user.name "git계정"
- git config --local user.email "git이메일"
- git config --global init.defaultBranch main (한 번 했으면 할 필요 없음, 또는 잘 되면 할 필요 없음)
- git add -A 또는 git add . 또는 git add 파일명
- Working Directory(작업 디렉토리)
- 실제로 파일을 수정하는 곳
- 파일은 수정되었지만, git add를 하지 않아서 스테이징 영역에는 없는 상태를 의미함
- Staging Area(스테이징 영역, 인덱스)
- 커밋(commit)할 변경 사항을 잠시 올려두는 대기 공간.
- git add 명령어로 스테이징 영역에 파일을 옮길 수 있다.
- Repository(저장소, .git)
- 최종적으로 git commit 하면, 스테이징 영역에 있는 파일(폴더)가 git에 기록됨
- feat: 새로운 기능 추가
- fix: 버그 수정
- docs: 문서 수정
- style: 코드 스타일 변경(추가)
- refactor: 리팩토링
- test: 테스트 코드 추가
- chore: 빌드 설정 변경
- git commit -m "fix: 로그인시 빈 값을 입력해도 로그인 되던 현상 수정"
- git commit -m "feat: 로그아웃 기능 추가"
- Working Directory(작업 디렉토리)
- git config --global core.editor "code --wait"
- git config --global --unset core.editor
- git status
- git log
- git log --oneline
- git log --graph
- 추천: git log --graph --oneline
- 커밋 취소하는 방법(Repository -> working directory or staging area)
- 커밋이 한 개 있을 때
- 그냥 git을 다시 초기화 해라 (rm -rf .git -> git init -> git add . -> git commit)
- 커밋이 두 개 이상 있을 때
- git reset
- git reset --mixed HEAD~숫자
- git reset --mixed HEAD~1 (커밋 1개를 되돌아감)
- git reset --mixed HEAD~2 (커밋 2개를 되돌아감)
- --mixed : 기본값, 커밋 취소 + 작업 내역 Working Directory 영역에 배치
- --soft: 커밋 취소 + 작업 내역을 Staging Area에 배치
- --hard: 커밋 취소 + 작업 내역 삭제
- 만약에 소스코드가 github 올라갔으면 reset 하면 안됨
- git revert 커밋아이디
- 가장 많이 하는 실수 -> github에 올라갔는데 git reset을 하고 git push --force
- 작업내역을 취소한 새로운 커밋을 올렸으니까 병합해서 사용하세요.
- git reset
- 커밋이 한 개 있을 때
- github에 소스를 올릴 때
- git push -u origin 브랜치명
- --force
- git === github 같다.
- github 올라가면 git으로 관리되지 않는 것
- github 원격 저장소
- git 로컬 저장소
- 원격 저장소를 등록
- git remote add 식별자 원격레포주소
- git remote add origin 원격레포주소
- git remote add stream 원격레포주소
- git remote -v
- git push
- git push -u 원격레포식별자 브랜치이름
- origin -> 원격레포식별자
- main -> 규칙
- git push -u origin main
- permission 에러
- remote 등록 주소가 잘못되지 않았는지 확인
- vscode에 연결된 git 계정과 내가 올리려고 하는 github 계정이 일치하는지 확인
- 팀 프로젝트일 때는 초대가 안된 것일 수도 있음
- permission 에러
- git branch(가지)
- 하나의 저장소 안에서 독립적으로 작업할 수 있는 개발 라인을 말합니다.
- git checkout -b 브랜치명
- git switch -c 브랜치명 (2.22, 2.24)
- git branch -v
- 기능: feature/기능명
- 버그: fix/버그명
- 긴급 수정: hotfix/긴급수정명
- 문서: docs/문서명
- 설정/빌드: chore/설정빌드명
- 리팩토링: refactor/리팩토리명
- 로그인 기능
- git switch -c feature/social-login
- 참고: main 브랜치는 절대로 개발하지 않는다.