본문 바로가기
FE/HTML_CSS_JavaScript

Git Command

by Lulurem 2023. 10. 27.

깃 최초 설정

git config --global user.name 닉네임   - 닉네임 중간에 공백이 있으면 " "로 묶기

git config --global user.email 이메일주소

git config --global core.editor "code --wait"   - 디폴트 에디터를 vscode로 지정 

git config --global core.pager cat   - 터미널창에서  화면 안넘어가고 내용 출력

    -> git log --oneline 등에서

 

 

Windows와 Mac OS의 공백문자(줄바꿈) (Carriage return, Lind Feed)

git config --global core.autocrif true   - windows

git config --global core.autocrif input   - mac

 

 

Git Command

1. git init   : 저장소 생성 (git 초기화) / 일반 폴더를 깃 저장소로 만든다

 

2. git status   : 현재 상태 확인 / 파일명이 빨간색 (working directory) 초록색(staging area)

  • untracked  : 한 번도 버전관리를 하지 않은 상태. git add 해야 commit 가능

  • tracked  : 버전관리를 한 이력이 있는 상태. add를 생략하고 commit 가능하지만 위험하다 ***

    -> git commit -am "메시지"

 

3. git add   : 파일의 변경 사항을 staging area에 추가

  • git add 파일명.확장자   - 특정 파일 추가 하기  

  • git add *   : 변경 내용이 있는 모든 파일 추가 하기 

  • git add .    : 위와 같음

 

4. git restore   : 작업 내용 취소

  • git restore 파일명   : working directory에 있는 파일의 작업 내용 취소

  • git restore --staged 파일명 : staging area에 있는 파일을 working directory로 다시 가져옴

 

5. git commit   : 파일의 변경 사항에 대한 이력 생성

  • git commit -m "메시지"

  • git commit   : commit 까지만 입력하면 에디터에서 메시지 상세하게 입력 가능

 

6. 커밋 메세지 수정

  • git commit --amend   : 마지막 commit 메시지 수정

  • git rebase -i {해시코드}   : 특정 commit 메시지 수정

    -> 해시코드는 수정을 원하는 커밋보다 이전 커밋의 코드를 입력해야 함.

    -> 수정을 원하는 commit의 상태를 edit으로 바꾸고 저장 닫기

    -> git commit --amend

    -> 메시지 수정하고 저장 닫기

    -> git rebase --continue

    -> git log --oneline    : 메시지 잘 바뀌었나 확인

 

7. git log   : commit 이력 확인

  • git log --oneline

  • git log --oneline --graph   : commit, 브랜치를 자세하게 보여줌

 

8. git checkout   : 과거 commit 이력 확인

  • git checkout {해시코드}   : 입력한 해시코드 이전 commit 시점으로 이동 

  • git checkout HEAD~2   : 헤드로부터 2개 이전 commit 시점으로 이동

  • git checkout main   : 마지막 commit 시점으로 이동

 

9. git reset   : 이전 상태로 복원 (commit 이력 제거)

  • git reset --mixed   : commit 이력 삭제, working directory에 변경 사항은 있는 상태 (default 값)

  • git reset --soft   : commit 이력 삭제, 변경사항이 있는 파일이 staging area에 올라와 있는 상태

  • git reset --hard   : commit 이력 삭제, 파일의 변경 사항 삭제

 

그 다음, 아래의 명령어를 입력해 원격저장소에 강제로 push한다.

git push -f origin main

 

10. git branch   : 브랜치 생성 및 이동

  • git branch 브랜치명   : 브랜치 생성

  • git checkout 브랜치명   : 브랜치 이동

  • git switch 브랜치명   : 위와 같음 (checkout 명령이 다른 여러기능을 가지고 있어서 추가된 명령어)

  • git switch main   : main 브랜치로 이동

  • git merge likelion   : likelion 브랜치를 현재 브랜치로 병합

  • git branch -d 브랜치명   : 브랜치 삭제

  • git branch -b 브랜치명   : 브랜치 만들고 바로 이동   -branch

  • git switch -c 브랜치명   : 브랜치 만들고 바로 이동    -create

  • git branch -m main   : 기본 브랜치명을 master에서 main으로 변경

  • git config --global init.defaultBranch main   : init 시 기본 브랜치명이 항상 main으로 변경

     ** HEAD는 현재 가르키고 있는 브랜치 버전. 반드시 마지막 시점이 아님

 

11. git remote   : 원격 저장소 리모트 브랜치 관리

  • git remote -v   : 리모트 브랜치 조회

  • git remote add origin {저장소 주소}   : 리모트 브랜치 추가

  • git remote remove origin   : 리모트 브랜치 삭제

  • git remote rm origin   : 위와 같음

 

  • git branch -r   : 리모트 브랜치 조회

  • git branch -a   : 리모트와 로컬 브랜치 모두 조회

  • git remote update   : 원격 저장소 리모트 브랜치 업데이트  

 

12. git push   : 로컬의 변경 이력을 원격 저장소로 전송

  • git push origin main   : 로컬의 main 브랜치의 변경 이력을 원격 저장소의 main 브랜치로 보내기

  • git push -u origin main 

 

13. git pull   : 원격 저장소의 내용을 로컬에 반영 (fetch + merge)

  • git pull origin main   : 원격 저장소의 main 브랜치의 변경 이력을 로컬의 main 브랜치로 가져오기

  • git pull --set-upstream origin

 

14. git merge   : 브랜치 병합하기

  • git merge develop   : develop 브랜치를 현재 브랜치에 병합

  • git merge --abort   : 병합 취소

 

15. git stash : 파일 변경 내용 임시 저장

 • git stash

• git stash list  : 저장 목록 조회

• git stash show  : 저장 내용 조회

• git stash show -p  : 저장 내용 상세 조회

• git stash pop  : 가장 최근 저장 내용 추출  →  목록에서 사라짐

• git stash apply  : 가장 최근 저장 내용 추출  → 목록에 남아있음

 

• git stash drop  : 가장 최근 저장 내용 삭제

• git stash clear  : 목록 전체 삭제 

'FE > HTML_CSS_JavaScript' 카테고리의 다른 글

Sass vs Tailwind CSS  (0) 2023.11.30
HTML 2  (1) 2023.10.30
HTML 1  (0) 2023.10.27
마크업 언어  (0) 2023.10.27
CLI (Command Line Interface)  (0) 2023.10.25