Git & Github

Git Command 정리

Bruno-Jang 2021. 12. 26. 20:37

 

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