짧은하루

Git 명령어 모음집! 본문

Tools/git, github

Git 명령어 모음집!

짧은하루 2021. 8. 28. 14:23

git status   

  • git 저장소의 현황을 볼 수 있음 (3가지 상태 확인 가능)
  • git status
    • stage
    • not stage
    • untracked

git add

  • commit 할 대상을 추가하는 행위
  • git add 커밋할파일

git commit 

  • 작업 내역에 대한 스냅샷을 떠서 git 저장소에 저장하는 행위
  • 새로운 작업 내역이 있을 때마다 전체를 저장하는 것이 아니라 전 커밋 내용과 비교하여 변경 내용만 새롭게 저장함
  • 변경되지 않은 내용은 전 커밋을 참조하는 형태
  • 따라서 git은 적은 용량으로 작업내역을 저장할 수 있음
  • git commit -m "커밋내용"

git log  

  • commit한 내역들을 볼 수 있음
  • git log

git reset

  • git add로 stage에 올려놓았던 내역 또는 커밋 내역을 취소
  • git reset  (stage에 있는 내역 전부 취소)
  • git reset HEAD^  (가장 최근 커밋 취소)

gihub 커밋 내역 삭제 

  • git add로 stage에 올려놓았던 내역 또는 커밋 내역을 취소
  • git clone 레포
  • git reset --hard 커밋해쉬값  (커밋해쉬 값 상태로 돌아감)
  • git push -f origin 브랜치명  (github 업데이트)

git branch

  • 브랜치는 이전 작업내용을 포함하는 일련의 작업 히스토리
  • 커밋을 모아놓은 것으로 볼 수 있음
  • 보통 bugFix 나 새로운 기능을 만들 때마다 브랜치를 새로 만들어서 작업함
  • 큰 브랜치를 만들기보다는 작은 브랜치를 많이 만들어서 사용하는 것이 좋음
  • git branch 브랜치명 (브랜치 생성)
  • git checkout 브랜치명 (브랜치로 옮겨감. *(스타) 표시된 곳이 현재 브랜치)
  • git checkout -b 브랜치명 (브랜치를 만들면서 해당 브랜치로 이동함)
  • git branch -d 브랜치명 (브랜치 삭제)
  • git push origin 브랜치명 (브랜치로 push)
  • git branch -m 변경전이름 새로운이름 (브랜치 이름 변경)
  • git branch (브랜치 목록 확인)

git merge

  • 브랜치를 합칠 때 사용하는 명령어
  • 내가 main branch에 있을 때 git merge bugFix하면 bugFix브랜치랑 합쳐짐
  • 즉 메인은 기존 main 부모 커밋과 브랜치의 부모커밋 두 개를 가르키게 됨
  • 내가 bugFix 브랜치에 있을 경우에는 git merge main 하면 main에 bugFix 브랜치 합쳐짐

git rebase

  • 커밋을 모아서 복사한 뒤 다른 곳에 떨구는 것
  • 커밋 흐름을 보기 좋게 한 줄로 만들 수 있다는 장점이 있음

git stash

  • git pull을 해야하는데 내가 commit하지않은 작업 내역이 있을 때 사용함
  • git statsh (내 작업 내역이 stash 됨. 잠시 다른 영역에 저장됨)
  • git stash list (stash된 내역들 확인)
  • git stash apply (가장 최근에 stash해놨던 내역을 다시 불러옴)
  • git stash drop (가장 최근 stash 삭제)
  • git apply 후 양쪽에서 수정하여 충돌이 있을 경우에는 충돌 내역을 내가 원하는대로 수정한 뒤 git add 충돌한 파일명 해주면 충돌이 사라짐

git mv

  • 폴더 이름 변경
  • git mv 기존폴더명 바꿀폴더명

 


 

git branch를 공부하기에 좋았던 홈페이지

https://learngitbranching.js.org/?locale=ko 

 

Learn Git Branching

An interactive Git visualization tool to educate and challenge!

learngitbranching.js.org

 

반응형
Comments