■ reset
과거 커밋 지점으로 이동하고 이동된 이후의 커밋은 삭제하는 명령어
-> 로컬의 commit 내용을 변경하고자 할 때 사용
1) git reset -hard
: 해당 commitID의 상태로 이동하고, 깔끔한 리셋 (모두 초기화)
2) git reset -mixed
: 해당 commitID의 상태로 이동하고, 원하는 커밋으로 이력을 되돌리긴 하지만, 이 다음에 추가했던 모든 변경사항을 작업공간(Workig Diretory)는 변경되지 않음
3) git reset -soft
: mixed와 비슷하지만 스테이지 영역이 위에 있는지 아래에 있는지 차이. mixed는 변경사항을 스테이지 아래로 둬서 위로 올리지 말지 고민할 수 있지만, soft는 변경사항을 스테이지 위로 둬서 다시 당장 커밋할 수 있
■ revert
-> 원격 저장소에 push한 결과를 되돌리고 싶을 때 사용, 이전의 commit 내역을 남겨두고 새로운 commit을 생성하면서 과고로 돌아감
■ stash
-> 변경사항을 일시적으로 저장하는 기능으로, 아직 커밋하기엔 이른 경우나 다른 브랜치로 체크아웃할 때 변경사항을 유지하고 싶을 때 사용
1) git stash : 커밋되지 않은 변경사항을 저장하고 변경사항들을 모두 초기화, 내용이 삭제되는게 아니라 스태시에 저장된 상태
2) git stash pop : 스태시에 저장된 가장 최근 목록을 가져오고 삭제
3) git stash apply : pop방식과 동일 단, 스태시가 삭제되지 않고 남기때문에 여러 브랜치에서 동일한 내용을 적용할 수 있음
4) git stash list : 여러개 등록이 가능
5) git stash drop : 특정 스태시 삭제
6) git stash clear : 모든 스태시 삭제
'Git' 카테고리의 다른 글
[Git] amend, cherry-pick (0) | 2025.03.08 |
---|---|
[Git] 커밋 관리 및 git push, git pull (0) | 2025.01.27 |