SCM/Git + Github

[Git] 자주 사용하는 Git 터미널 명령어 모음

헹창 2023. 10. 8.
반응형

git을 사용할 때, IntelliJ IDEA 와 Git Bash 를 같이 사용하고 있다.

대체적으로 충돌나거나 이력 확인 외에는 Git Bash 사용이 편해서, 관련해서 자주 사용하는 명령어를 정리했다.

Git Document | 사이트

 

stash

  • 로컬에서 작업 중이던 변경사항을 커밋하지 않고 저장하는 기능 (정말 유용)
git stash -m 'message' # 작업중이던 변경된 파일들 stash 영역에 저장
git stash show [stash number] # stash 영역에 저장된 파일 보기
git stash list # 생성한 stash 리스트 보기
git stash apply [stash number] # 번호에 해당하는 stash 영역에 있는 파일들 불러오기
git stash drop [stash number] # 번호에 해당하는 stash 영역 삭제

branch

# 브랜치 삭제
git branch -d [브랜치명] # 로컬 브랜치 삭제
git branch -D [브랜치명] # 강제 삭제(머지여부 상관없이 삭제)
git push origin --delete [브랜치명] # 원격 브랜치 삭제

# 브랜치 전환
git checkout -t origin/[원격브랜치명] # 원격브랜치를 가져와서 같은 이름으로 브랜치를 로컬에 생성 후 전환
git checkout -b [새로운브랜치명] origin/[원격브랜치명] # 원격브랜치를 새로운 이름으로 생성 후 전환

 fetch

git fetch # 현재 체크아웃된 리모트 정보를 업데이트
git fetch --prune[-p] # 현재 자신의 로컬에 있는 리모트 브랜치 정보를 최신으로 업데이트

log

git log # 깃 로그 확인
git log -p # 수정된 파일 목록 및 수정내용 전체 확인
git log --name-only # 수정된 파일 목록 확인
git show [commit id] # 특정 커밋 수정된 파일 목록 및 수정내용 확인
git show [commit id] --name-only # 특정 커밋 수정된 파일 목록 확인
git reflog # 깃 모든 커밋 로그 출력 (reset 과 상관없이 로컬에서 커밋한 모든 내역을 확인할 수 있다)

reset, revert (rollback)

git reset --hard [commit id] # 지정한 커밋 id 로 리셋 (해당 커밋으로 소스가 모두 변경됨)
git reset --soft [commit id] # 지정한 커밋 id 로 리셋 (해당 커밋으로 Head 는 변경되지만 위에서 작업한 커밋 파일들은 남아있음)
git revert [commit id] # 지정한 커밋으로 롤백되고 롤백커밋 생성됨 (push force 가 안될 때 사용)
git checkout HEAD [path] # 특정파일 변경시점 전으로 롤백

commit message 수정

  • 가장 마지막 커밋 내용 수정 가능
  • 커밋 메시지 수정 외에도, 동일한 기능의 커밋이 한 번 더 추가 될 때 커밋 합치는 용도로 사용하기에도 좋음
git commit --amend

tag

git checkout tags/[tag-name] -b [local-branch-name] #특정 태그 버전 로컬 브랜치 생성 후 전환하기

cherry pick

  • 특정 커밋 다른 브랜치 반영하기
# 1. 로컬 브랜치를 생성하여, 원격 브랜치를 base로 checkout
git checkout -t -b [로컬브랜치명] origin/[원격브랜치명]

# 2. 로컬의 특정 커밋 내용만 현재 브랜치로 반영
git cherry-pick [commit-number]

# 3. 원격 브랜치에 반영
git push origin [원격브랜치명]
728x90
반응형

댓글

추천 글