로컬저장소(로컬 리포지터리) : 내 PC에서 관리하는 git 저장소
원격저장소(원격 리포지터리) : 로컬 저장소를 업로드하는 곳 (GitHub)
작업폴더(디렉터리) : 현재 작업하고 있는 폴더
Staging Area : 작업 폴더에서 변경 내용을 기록하는 곳 (commit 전에 올려두는 공간) commit하면 git 저장소로 내용 저장
화살표 ↑ ↓ : 사용한 명령어 다시 사용
GIT 초기 설정
git config --global init.defaultBranch main
git config --global user.name "본인 깃허브 ID"
git config --global user.email 깃허브 가입시 사용한 이메일
로컬 저장소 생성, 삭제
git init
로컬 리포지터리 생성. 현재 디렉토리를 working director로 설정하고 .git을 만들어줌rm -rf .git
로컬 리포지터리 삭제.git.init
부터 다시 진행해야한다.
파일 생성 삭제
git touch 파일명
: 파일 생성rm 파일명
: 파일 삭제
작업 폴더에서 stage에 올려두기 - add
git add .
: 모든 파일 올림git add 파일1, 파일2
: 지정한 파일 올림
stage에 올라온 파일 원격저장소로 커밋하기 - commit
git commit -m "커밋메시지"
: 어떤 변경사항이 있는지 확인하기 위한 메시지 기록git log
: 저장소에 저장된 버전을 확인git commit -am "커밋메시지"
: stage에 올리고 커밋하는 과정을 한번에 처리 (이전에 커밋한 적이 있는 파일을 다시 커밋할 때만 사용) / 스테이징 옵션(-a
), 메시지 옵션(-m
)git commit --amend
: 직전에 커밋한 메시지 수정
commit 내용 확인
git log
: 현재까지 커밋했던 기록 확인git log --stat
: 커밋에 관련된 파일 확인git log --online
: 한 줄로 보기git log --oneline -n 2
: 최근 2개의 로그만 한 줄로 보기git diff
: 변경사항 확인- log가 너무 많으면 종료되지 않는 현상 :
q
키를 눌러서 종료하기
파일의 상태 확인 - staus
git status
: 커밋된 파일& 스테이지에 있는 파일 = tracked / 그 외 = untracked
로컬저장소에 원격저장소를 연결
git remote add origin 깃허브 리포지터리 주소
: 원격 저장소에 연결git remote -v
: 원격 저장소 연결 여부 확인git remote remeve origin
: origin을 삭제 (git remote add origin
부터 다시 시작해야함)
원격저장소에 파일 올리기 - push
git push origin main
:git push <원격 저장소 이름> <브랜치 이름>
의 형태
원격저장소에 파일 올리기 - pull
git pull origin main
:git pull <원격 저장소 이름> <브랜치 이름>
의 형태
원격 저장소 복제하기
git clone <원격 저장소 주소> <작업할 디렉터리>
원격 저장소를 로컬에 받을 수 있음
작업 되돌리기
스테이지에 올렸던 파일을 내리거나 커밋을 취소하는 등의 각 단계로 돌아가는 방법
^
: 가장 최근~n
: 최근 n개git checkout
: 작업 폴더에서 수정한 파일 되돌리기git reset HEAD 파일이름
: 스테이징 되돌리기 (HEAD 다음에 파일이름을 지정하지 않으면 스테이지에 있는 모든 파일을 되돌린다.)git reset HEAD^
: 최신 커밋 되돌리기, 취소한 파일은 작업 폴더에만 남는다.git reset HEAD~n
: 최근 n개의 커밋을 취소git --soft HEAD^
: 최근 커밋을 하기 전 상태로 작업 폴더를 되돌림git --mixed HEAD^
: 최근 커밋과 스테이징을 하기 전 상태로 작업 폴더를 되돌림git --hard HEAD^
: 최근 커밋과 스테이징, 파일 수정을 하기 전 상태로 작업 폴더를 되돌림git reset 커밋해시
: 특정 커밋으로 되돌리기 (특정 커밋 이후에 만들어진 커밋을 삭제하고 특정 커밋으로 이동)git revert 커밋해시
: 커밋 삭제하지 않고 되돌리기
VIM에서 나가는 방법
ESC
orCtrl+C
:wq!
- 취소하려면 그냥
q!
- 취소하려면 그냥
엔터
'GIT' 카테고리의 다른 글
GIT merge (병합) (0) | 2023.02.28 |
---|---|
GIT branch (0) | 2023.02.27 |
GIT commit 관련 명령어 (0) | 2023.02.27 |
[GIT] .gitignore 파일 생성 (0) | 2023.02.23 |
TDD를 위한 assertThat 라이브러리 추가 (0) | 2023.02.23 |