[기본]
# 로컬 저장소(local repository)
내 PC에서 관리하는 git 저장소
로컬 git 저장소를 만들어주려는 디렉토리로 이동해서 아래 명령어를 실행하면 .git 폴더 생성
$ git init
|
.git 폴더에 커밋, 스테이지 등 저장소에 필요한 뼈대 파일이 저장되어 있음
# 원격 저장소(remote repository)
로컬 저장소를 업로드 하는 곳. ex) GitHub, Bitbucket, GitLab 등
clone 명령어로 기존 원격 저장소를 로컬에 받을 수 있음
$ git clone https://git저장소 주소
|
# 작업 폴더(Working Directory)
작업이 일어나는 폴더
# Staging Area(Index)
작업 폴더에서 작업한 변경 내용을 기록 하는 곳(git 저장소에 commit하기 전에 올려두는 공간)
stage에서 commit을 하게 되면 git 저장소로 변경 내용이 저장됨
[git 명령어]
# status
파일의 상태를 확인하는 명령어
커밋된 파일 & 스테이지에 있는 파일 : tracked
그 외 : untracked
$ git status
|
# add
작업 폴더에서 작업한 변경을 stage에 올릴 때 사용하는 명령어
add한 파일이 tracked 상태가 됨(git이 관리하는 대상이 됨)
파일을 지정해서 올릴 수도 있고, 경로를 지정해서 변경된 모든 파일을 올릴 수도 있음
$ git add 파일1, 파일2
$ git add .
|
git add 명령어로 스테이지에 추가한 수정 파일을 git 저장소에 저장
주의! 스테이지에 올려놓지 않은(untracked) 파일은 커밋되지 않음
$ git commit -m "커밋 메시지"
|
# push
commit한 파일을 원격 저장소에 올리는 명령어
git push <원격 저장소 이름> <브랜치 이름>
$ git push origin master
|
# fetch
로컬에는 없지만 원격 저장소에 올라가 있는 데이터를 모두 가져옴(업데이트라고 보면 됨)
자동으로 merge 작업을 하지는 않음
git fetch <원격 저장소 이름>
$ git fetch origin
|
# pull
원격 저장소의 데이터를 가져오고, 자동으로 현재 작업하는 로컬 브랜치와 merge
fetch + merge
pull을 수시로!
push 하기 전에 pull을 하지 않으면 이미 원격저장소에 변경사항이 일어났을 때 push에 실패함, 수시로 원격저장소에 있는 변경사항을 pull 받는 것이 충돌 예방에 최선임!
$ git pull origin master
|
브랜치 병합
현재 작업 중인 브랜치에 합칠 커밋을 지정해서 병합
<commit> 위치에는 주로 병합할 branch 이름을 넣고, 커밋 체크섬을 넣어도 됨(숫자랑 영어로 조합된 40글자 SHA-1 해시 값, 커밋 고유 번호)
$ git merge <commit>
|
# checkout
브랜치 전환
예를 들어 현재 feature 브랜치에서 작업을 하다가 develop 브랜치로 전환을 하려면 아래와 같이 명령어를 실행하면 됨
$ git checkout develop
|
'개발 > Git' 카테고리의 다른 글
[Git] 깔끔한 Git 커밋 히스토리 관리를 위한 커밋 스쿼시와 리베이스 작업 (0) | 2023.07.27 |
---|---|
[Git] 소스트리로 Git-flow 브랜치 전략 사용하기 실전편 (feat. Bitbucket pr 방법) (0) | 2022.05.13 |
[Git 명령어 기초] add & commit 한번에 하기 (0) | 2022.02.10 |
[GitHub Pages] 깃헙 페이지로 react 프로젝트 무료로 배포하기 (1) | 2022.01.25 |
[Git] 해결방법 - remote: Support for password authentication was removed on August 13, 2021. Please use a personal access token instead. (0) | 2022.01.25 |
댓글