Git Command 정리
Git이란
- 분산형 버전 관리 시스템 (VCS - Version Control System)
- 내 컴퓨터가 로컬 저장소가 되서 인터넷이나 중앙 저장소에 문제가 있어서 원상복구 가능
- 프로젝트 파일의 변경 사항을 추적하는 시스템
- 변경 사항에 대해 기록했기에 원하는 시점으로 되돌릴 수 있다.
github이란
- Git을 사용하는 프로젝트를 지원하는 오픈소스 웹호스팅 서비스이자 플랫폼(클라우드)
- 코드 공유를 통해 협업 가능
git help
- 명령어가 기억나지 않을 때
- git help 명령어 : 특정 명령어에 대한 설명을 볼 수 있다.
ex) git help diff
git init
- 터미널에서 프로젝트 폴더로 이동 후 git init 입력하면 .git이라는 파일 생성
- 해당 디렉토리 안의 모든 파일과 폴더들이 git을 통해 관리된다.
- 그래서 원치 않는 파일들은 .gitignore에 입력하여 저장하면 된다.
.gitignore
- 로컬 셋팅 등 원격 저장소에 올리지 말아야 할 파일들을 지정하여 관리하는 파일
- 프로젝트 최상위 디렉토리에 생성할 것!
- ex) DATABASES, SECRET_KEY, algorithm 등
git status
- repository의 현재 상태를 확인
- 어떤 파일이 추가 또는 변경되었는지 모두 볼 수 있다.
- 가장 많이 쓰는 git 명령어
git add
- Staging(중간 저장)
- 해당 디렉토리 안의 모든 파일 추가 가능
ex) git add .
- 아래와 같이 특정 파일만 추가 가능
ex) git add views.py
- 여러개의 파일도 추가 가능
ex) git add views.py calc.py test.py
git commit -m "커밋 내용"
- 일종의 스냅샷과 같다.
- 일반적으로 커밋을 남기는 시점은 특정 내용, 기능을 추가한 후 또는 수정 사항을 적용한 후
- ex) git commit -m "Modify : 오타 수정"
commit message guidelines
Add | 레이아웃 / 기능 추가 |
Remove | 내용 삭제 (폴더 / 파일 삭제) |
Modify | 수정 (JSON 데이터 포맷 변경 / 버튼 색깔 변경 / 폰트 변경) |
Fix | 버그/오류 해결 |
Refactor | 코드 리팩토링 (멘토 리뷰 반영 / 스스로 리팩토링 / 중복 코드 제거 / 불필요 코드 제거 / 성능 개선) |
Docs | 문서에 관련된 수정작업(README.md 등) |
git log
- 프로젝트의 모든 커밋 내역 조회
- 아래의 명령어를 통해 특정 커밋 시점의 코드로 되돌릴 수 있다.(작성자, hash 값, 날짜와 시간, 커밋 메세지)
- ex) git checkout <commit-hash> (앞 7자리 복사)
- ex) git checkout 93bb61d
- 다시 최신으로 되돌리고 싶을 때는 git checkout -
git push
- 로컬 저장소에 남겨놓은 코드 변경 이력들이 원격 저장소로 전송
- git push <저장소명> <브랜치명>
- ex) git push origin main
- ex) git push origin feature/login
git pull
- 원격 저장소의 데이터를 로컬 저장소에 가져와 병합
- 보통 원격 저장소의 main에 변경 사항이 있을 경우 로컬에서 main으로 branch checkout 후 pull
- ex) git pull origin main
git branch list
- branch list 조회
- ex) git branch
git branch 생성
- 독립적으로 작업 진행하기 위해서이며 여러 작업 동시에 진행 가능
- ex) git branch <브랜치명>
- ex) git branch feature/signup
git checkout <branch명>
- 해당 branch로 이동
- ex) git checkout feature/jwt
git branch 이름 변경
- git branch -m <현재 branch명> <바꿀 branch명>
- ex) git branch -m feature/signin feature/login
git branch master -> main 변경하는 방법
- git branch -m matster main
- 위에서 branch 이름 변경하는 방법과 동일하다.
git branch 삭제
- git branch -d <branch명>
- ex) git branch -d feature/login