본문 바로가기
기본(프론트)/Git

[기본] GIT CLI (feat. VScode)

by Ethan cho 2023. 6. 7.

 

파란색 - 수정 / 초록색 - 추가
M - modified
U - untracked
A - added

 


HEAD -> master - 현재 우리가 바라보는 위치
origin/master - github에 올라간 커밋

■ 커밋 이력 보기
git log


■ stage 영역에 추가
git add (파일명)
git add . - 현재 폴더에 있는 모든 파일

■ git 커밋하기
git commit -m "(메시지)"

■ github에 올리기
git push origin master

 

과거 커밋으로 가기
■ git checkout (커밋 주소)

원래 상태로 되돌아오기
■ git checkout master


■ 현재 커밋 삭제 & 과거 커밋으로 가기 (하드 리셋)
git reset --hard HEAD^
--hard ▷삭제하다
HEAD^ ▷ 한 커밋 이전으로 되돌아가기
HEAD^^ ▷ 두 커밋 ~~
HEAD^^^ ▷ 세 커밋 ~~

■ 강제로 푸시하기

리셋을 한 뒤 우리가 원치 않은 앞 전 커밋이 깃허브에 등록이 되어 있다면 아래의 명령어로 업데이트를 해주어야 한다.
git push origin master --force

 

 


git reset HEAD^

Unstage 영역(변경사항)에 등록이 된다.


■ 복합 리셋
▷ 커밋만 삭제하고 파일 변경 사항은 그대로 둔다.

세번째 사진을 보면 변경된 파일이 그대로 가져와 진 것을 볼 수 있다.
▷ 변경 사항들을 unstage 영역에 둔다.

하드 리셋 - 파일 변경 내역을 유지하지 않는다.
복합 리셋 - 변경한 파일의 내용은 그대로 둔다.

■ 원격저장소 확인
git remote -v
■ origin에서 코드가져오기
git pull origin master

 


Stage영역에 추가된다.

git reset HEAD^^ --soft

■ 소포트 리셋
▷ 되돌릴 커밋의 변경사항을 unstage 영역에 추가하지 않고
stage 영역에 추가한다. 바로 커밋이 될 수 있게 준비가 된다는 것!
▷ unstage 영역에 작업중인 파일이 있을 때 섞이지 않고 싶을 때 사용한다.

대부분의 경우에는 하드 리셋이나 복합 리셋을 사용하면 된다.

 


■ 새 브랜치 만들기
git checkout -b (브랜치명)

git switch -c new-branch-name
※한꺼번에 하기
git checkout (커밋별명) -b (브랜치명)

■ 마스터 브랜치로 돌아가기
git checkout master

■ 브랜치 목록 보기
git branch

 

 로컬 저장소에서 브랜치 삭제
git branch -D 브랜치명

 


 

■ 커밋 수정

git add를 통해 원하는 파일을 Stage영역에 두고 아래 명령어 실행
▷ 커밋 수정(amend)은 가장 마지막 커밋을 수정하는 것
git commit --amend -m "(메시지)"
git commit --amend --no-edit
--no-edit ▷ 커밋 메세지는 수정하지 않는다

■ 커밋할 때 파일들의 상태보기
git status
▷ stage 영역에 있지 않은 파일은 빨간색으로 표시
▷ stage 영역에 있는 파일은 초록색으로 표시

■ .gitignore파일에 git에 추가하고 싶지 않은 파일이나 폴더 입력
폴더를 추가하는 방법 ▷ /(폴더명)

■ stage 영역에서 제거
git rm -r (제거할 것) --cached
-r ▷ 폴더 제거시 사용

 


■ 원격저장소 목록
git remote -v

■ 원격저장소 추가
git remote add (이름) (url)

■ 원격저장소 제거
git remote remove (이름)
※ 더 간단한 명령어
git remote rm (이름)

 


git clone 하는 법

 

fork를 한 뒤 주소를 사용

 

git clone (주소) (원하는 이름)

 

예) 현재 로컬에 2개의 파일이 변동되어 있으며 2개의 파일변동을 원격저장소의 master에서 가져오지 않아 뒤쳐져 있습니다.

저장소에 비해 1개의 변동사항이 앞서 있고 1개의 변동사항이 뒤쳐져 있으며

!1 1개의 파일이 Untrack

+1 Staging 파일이 Add

되어 있는 상태

 

git status로 자세한 사항 확인 가능

원격저장소와 싱크를 맞추기 위해서는 Pull을 하여 파일을 가지고 와서 수정을 하고 다시 Push를 하던가

force를 사용하여 현재 버전을 강제로 Push하는 행동을 취아여야 한다.

 

전 버전을 수정하였다면 항시 force를 써주는게 맘 편함

 

'기본(프론트) > Git' 카테고리의 다른 글

[기본] GITHUB사용법  (0) 2023.06.03
[기본] GIT 설치 및 사용법 (feat. Github Desktop)  (0) 2023.06.03

댓글