예거's Bicycle for the mind

[Git] 자주 쓰는 git 명령어 정리 (Cheat Sheet) 본문

Git & Github

[Git] 자주 쓰는 git 명령어 정리 (Cheat Sheet)

유예거 2021. 11. 18. 03:47

git state diagram

 

[ tracking connection ]

-u 옵션은 --set-upstream 의 줄임말. tracking connection 을 설정하는 옵션입니다.
이게 설정됐을 때, Remote 레포의 브랜치를 Local 레포 브랜치의 업스트림(Upstream) 브랜치 라고 부릅니다.

-u 옵션을 통해 tracking connection 을 설정하면 git push/pull 과 같이 간단한 명령어로 자동으로 Remote 레포와 정보를 교환할 수 있습니다.

 

[ git ]

git add . -> working directory 내의 수정사항이 있는 모든 파일들을 staging area 에 올림
git add [디렉토리명 or 파일 이름] -> 수정사항이 있는 해당 디렉토리 또는 특정 파일을 staging area 에 올림
git reset -> staging area 에 올렸던 모든 파일 다시 내리기
git push -u origin [Local 브랜치 이름] -> Local 브랜치의 업스트림 브랜치를 Remote 에 등록하면서 변경사항 등록함

 

[ branch ]

git branch [새 브랜치 이름] -> 새로운 브랜치 생성
git checkout -b [새 브랜치 이름] == git switch -c [새 브랜치 이름] -> 새로운 브랜치 생성하고 그 브랜치로 바로 이동

(switch 명령어에서 -c 의 의미는 --create)

git checkout [기존 브랜치 이름] == git switch [기존 브랜치 이름] -> 그 브랜치로 이동
git checkout -t origin/[Remote 브랜치 이름] -> Remote 에 있는 브랜치를 추적하는 새로운 Local 브랜치 만들기
git merge [기존 브랜치 이름] -> 현재 브랜치에 다른 브랜치를 머지

git merge --abort -> (컨플릭트나서 머지가 성공하지 못했을 때) 머지 취소하고 머지 이전의 상태로 돌아감

git branch -M [브랜치 이름] -> 현재 브랜치의 이름을 변경함, 다만 변경 후 git push -u origin [브랜치 이름] 명령어를 통해, 업스트림 브랜치와 Remote 동기화를 해줘야 함.

 

[ stash ]

git stash -> 하던 작업 임시로 저장. 이 과정을 통해 working directory 는 깨끗해짐
git stash list -> 저장한 stash 목록 확인
git stash apply -> 가장 최근 stash 가져와 적용
git stash drop -> 가장 최근 stash 삭제함
git stash pop -> 가장 최근 stash 적용한 뒤 stash 삭제

 

[ 기타 ]

git checkout . == git restore . == git reset --hard HEAD -> 수정사항 다 버리고 이전 커밋 상태로 돌아감

git cherry-pick [커밋 hash] -> (컨플릭트 해결에 유용) 특정 커밋을 현재 HEAD가 가리키는 브랜치에 추가함 (다른 브랜치에 있는 커밋을 현재 브랜치로 가져와서 커밋할 수 있는 셈, 커밋을 옮기는 게 아니고 새로운 커밋으로 찍힘)

git clean -f -> untracked file 한꺼번에 삭제

 

참고 링크

[Data Engineer 블로그] Git 명령어 요약 정리

[Jamie 블로그] cherry-pick으로 원하는 commit 가져오기

[코드잇 블로그] git reset과 git checkout의 차이점(심화)

[코드잇 블로그] git push -u origin master의 비밀

[아웃사이더 블로그] 새 버전에 맞게 git checkout 대신 switch/restore 사용하기

Comments