본문 바로가기
🛠️DevTools/Git

[Git] Git 명령어

by inbeom 2023. 8. 27.
728x90

명령어 흐름

주요 명령어

git init

  • git 초기화. git으로 버전관리를 할 경로에서 사용하며, .git 폴더가 생성됩니다.

git status

  • 현재 git 프로젝트에서 파일들의 상태를 보여줍니다.

git add

  • 파일의 변경 내용을 스테이징 영역(staging area)에 추가하기 위해 사용하는 명령어입니다.
# 모든 변경점 추가
git add -A
# 현재 경로의 모든 변경점 추가
git add .
# README.md 파일만 추가
git add README.md

git rm

  • 파일을 지우거나 스테이지에서 해제할 때 사용합니다.
# 파일 삭제
git rm README.md
# README.md 파일을 추적되지 않은 상태로 만듦
git rm --cached README.md

git restore (2.23)

  • 워킹 트리(Working tree)의 변경된 파일을 복원해 주는 역할을 합니다.
# Unstaged 상태의 변경 파일을 원상복구
git restore [파일명]
# git add로 Staging 된 파일을 Unstaged 상태로 되돌림
git restore --staged [파일명]

git commit

  • 변경된 내용을 저장합니다.
# 메시지와 함께 커밋
git commit -m 'First Commit'
# 신규 파일을 제외한 변경사항을 Staging 후 커밋
git commit -a
# 이전 커밋 변경
git commit --amend

git log

  • commit 목록을 볼 수 있습니다.
# branch 그래프를 추가하여 보기
git log --graph
# 모든 branch 보기
git log --all
# commit 메시지 제목만 한줄로 보기
git log --oneline

git show

  • commit 의 상세 정보를 확인합니다.
# 현재 branch의 가장 최근 commit 정보를 확인
git show
# 특정 commit 정보를 확인
git show [commit 해시값]
# 특정 branch의 가장 최근 commit 정보를 확인
git show [branch 명]

git reset HEAD [file]

  • commit 을 취소할 수 있습니다.
# commit을 취소하고 해당 파일들은 스테이징 영역에 보존
git reset --soft HEAD^
# commit을 취소하고 해당 파일들은 Unstaging
git reset --mixed HEAD^
git reset HEAD^
# commit을 취소하고 해당 파일들의 변경점 삭제
git reset --hard HEAD^
  • push를 취소할 수 있습니다.
git reset HEAD^
git push -f origin 브랜치명
git pull

git remote

  • 원격 저장소(remote repository)를 관리하는 명령어 입니다.
# 설정된 원격 저장소 보기
git remote -v
# test 라는 이름으로 원격 저장소 추가하기
git remote add test <https://github.com/test/test>

git push

  • 원격 저장소(remote repository)에 코드 변경분을 업로드합니다.
# 기본 사용법
git push [저장소명] [branch]
# 최초 1회 저장소, branch 지정. 이 후, 생략 가능
git push -u [저장소명] [branch]
# 로컬에서 생성한 branch를 push
git push --set-upstream [저장소명] [branch]

git branch

  • branch에 관련한 명령어 입니다.
# 로컬 branch 목록 확인
git branch
# 원격 저장소를 포함한 모든 branch 목록 확인
git branch -
# test 라는 branch 생성하기
git branch test
# test 로컬 branch를 origin이라는 원격 저장소의 test branch에 연결
git branch --set-upstream-to=origin/test test
# test branch 삭제
git branch -d test
# test branch 강제 삭제
git branch -D test

git checkout

  • branch를 변경하고 워킹 트리(Working tree)에서 변경점을 복원하는 명령어 입니다.
# test branch로 변경하기
git checkout test
# test2 라는 branch를 새로 생성하고 test2 branch로 변경하기
git checkout -b test2
# Unstaged 상태의 파일을 원래대로 되돌림
git checkout -- [파일명]
# Unstaged 상태의 현재 경로의 모든 파일을 원래대로 되돌림
git checkout -- .

git fetch

  • 원격 저장소(remote repository)의 데이터를 가져옵니다. pull 로 병합하기 전에 어떤 변경점이 있나 살펴볼 때 사용하기 좋습니다.
# origin 이라는 원격 저장소의 데이터를 가져옴
git fetch origin
# 모든 원격 저장소의 데이터를 가져옴
git fetch --all
# 원격 저장소에서 삭제된 branch를 로컬에서도 삭제
git fetch --prune

git pull

  • 원격 저장소(remote repository)의 데이터를 가져온 후 로컬 branch에 병합합니다.
# git fetch --all && git pull 과 같습니다
git pull --all

git merge

  • 현재 브랜치를 특정 브랜치의 소스와 병합합니다.
# master branch를 병합
git merge master
# 병합 충돌(Conflict) 발생 시 취소
git merge --abort
# 공백으로 인한 병합 충돌을 무시하고 병합
git merge -Xignore-all-space

 

728x90

'🛠️DevTools > Git' 카테고리의 다른 글

[Git] .gitignore 사용법  (0) 2023.08.27
[Git] Fork. Repository변경사항 업데이트  (0) 2023.08.27
[Git] Git과 Github의 차이  (0) 2023.08.27
[Git] Git이란?  (0) 2023.08.27
[Git] 에러노트  (0) 2023.08.27