azhy의 iOS 이야기

[Git] 자주 사용할 것 같은 git 명령어 정리 본문

Git

[Git] 자주 사용할 것 같은 git 명령어 정리

azhy 2024. 11. 7. 00:00

2022년 3월 29일에 작성됨

 

git init
git 초기화, 새로운 저장소 생성

 

git clone < git_path>
path 에서 코드가져오기 (다운로드, 복제)

 

git status
현재 git 프로젝트 파일의 상태를 보여줌

 

git branch
브랜치 목록

 

git branch <브랜치 이름>
새 브랜치 생성

 

git branch-d <브랜치 이름>
브랜치 삭제

 

git switch <브랜치 이름>
브랜치 변경

 

git restore <파일명>
unstaged 상태의 변경 파일을 원상복구

 

git restore--staged <파일명>
staging 된 파일(git add)을 unstaged 상태로 되돌림

 

git add .
모든 변경 내용을 스테이징 영역에 추가

 

git add <파일명>
파일명의 변경 내용을 스테이징 영역에 추가

 

git commit -m "message"
변경된 내용 저장

 

git push <저장소명> <브랜치명
로컬 저장소(브랜치)의 코드 변경 이력들을 원격 저장소로 전송

 

git checkout
브랜치 변경, 복원하는 명령어지만 Git 2.23 부터 checkout을 대신할 switch, restore 이 도입됨

checkout 대신 Switch, restore 명령어 사용

 

git fetch
원격 저장소에서 데이터 가져오고 병합 X

 

git merge <브랜치명>
브랜치 병합

 

git merge --abort
merge 하기 전으로 되돌림 (conflict 발생 시 취소)

 

git pull
원격 저장소에서 데이터 가져오고 병합 (fetch + merge)

 

git reset

커밋 취소 (되돌린 버전 이후의 버전이력이 사라짐)

  • git reset --soft : commit을 취소하고 해당 파일들은 스테이징 영역에 보존
  • git reset --hard : commit을 취소하고 해당 파일들의 변경점 삭제
  • git reset, git reset --mixed : commit을 취소하고 해당 파일들은 unstaging
  • git reset-merge : 바로 이전 병합 취소

예시

  • git reset HEAD^ : 현재부터 commit 1개 이전으로 복원
  • git reset HEAD~6 : 현재부터 commit 6개 이전으로 복원

git revert

지정한 커밋으로 되돌림 (되돌린 버전 이후의 버전이력이 남음)

  • git revert <커밋해시, 태그명> : 특정 태그나 커밋으로 되돌리고 커밋
  • git revert <커밋해시, 태그명>-n : 특정 커밋으로 되돌리지만 커밋은 안하고 Staging 상태

git stash
현재 작업중인 변경점을 임시 저장하거나 불러올 수 있다. (다른 branch로 가서 작업 하기전에 사용하면 유용)

  • git stash list : stash 리스트 확인
  • git stash save (이름) : (이름) 이라는 이름으로 현재 변경점 저장
  • git stash apply (이름) : (이름) stash 불러와 적용
  • git stash pop : 가장 최근의 stash 가져와 적용하고 삭제
  • git stash drop : 가장 최근의 stash 제거
  • git stash drop (이름) : (이름) Stash 제거

git diff
마지막으로 커밋된 소스와 현재 unstaged 상태의 변경점과 비교

 

git diff --staged
마지막으로 커밋된 소스와 현재 staging 된 변경점과 비교

 

git log
commit 목록 확인

 

git show
commit의 상세 정보 확인

 

git remote -v
설정된 원격 저장소 보기