*항상 작업 전 git branch로 현재 branch를 확인하고 원본 브랜치에서 git pull을 하자
restore
git restore <file> : working directory의 변경된 것들을 초기화 기존 작업하던 것들이 사라짐!!
help
git remote --help 등 뒤에 --help를 입력하면 자세한 페이지가 나온다. 대괄호는 옵션
git reset HEAD~1 현재 브랜치를 커밋 1번 이전으로 돌리기 (git reset은 변경사항은 그대로 두지만 commit 기록 자체를 사라지게 한다
이점을 유의
)
커밋내역을 되돌리고 싶을때(local)
git reset
git add . 까지 한상태로 되돌리고 싶다. (staged된 상태로 되돌리고 싶다) => soft
명령어 : git reset HEAD~1 --soft
git add . 하기 전 상태로 되돌리고 싶다. (unstaged된 상태로 되돌리고 싶다) => mixed
명령어 : git reset HEAD~1 --mixed
변경 내용을 아예 없애버리고 싶다. => hard (hard 옵션은 변경내역 까지 없애기 때문에 사용을 자제하는게 좋다.)
명령어 : git reset HEAD~1 --hard
커밋 번호로도 reset 가능하다.
git reset c31df0c530d54d175b2b3c5b2e93a8e6efd18d34
커밋내역을 되돌리고 싶을때(원격)
git revert
작업을 커밋을 하고 원격 브랜치로 push했는데 되돌리고 싶을때
reset대신 revert를 사용하자
reset은 local에서 잘못한게 있을때, revert는 잘못한 작업을 이미 푸쉬한 상태에서 되돌리고 싶을때 사용한다.
revert는 잘못 커밋한 내용을 냅두고 새로 커밋을 추가하는 것이다.
이때 되돌리고자 하는 커밋내용의 바로 앞 커밋 번호를 revert해야한다.
!!협업을 한다는 상황을 가정했을때 실수한 작업을 이미 원격브랜치로 push 했다면 reset을 사용하면 꼬일 수있으니 revert를 사용하자
rebase
git merge로 합치면 브랜치 가지가 여러갈래로 나누어져서 이를 한줄로 깔끔하게 하고 싶을때
git rebase를 사용한다.
cherry-pick
여러 커밋들이 있을 때 특정 커밋만 가져오고싶을때 cherry-pick을 이용한다.
git cherry-pick dbe4a6ef8f8abbe0051d0a6f85d0b38a824ecb40
git stash
현재 작업중인 내용을 임시로 저장하고 싶을 때 사용
git stash apply 0 등으로 적용
*항상 작업 전 git branch로 현재 branch를 확인하고 원본 브랜치에서 git pull을 하자
restore
git restore <file> : working directory의 변경된 것들을 초기화 기존 작업하던 것들이 사라짐!!
help
git remote --help 등 뒤에 --help를 입력하면 자세한 페이지가 나온다. 대괄호는 옵션
git reset HEAD~1 현재 브랜치를 커밋 1번 이전으로 돌리기 (git reset은 변경사항은 그대로 두지만 commit 기록 자체를 사라지게 한다
이점을 유의
)
커밋내역을 되돌리고 싶을때(local)
git reset
git add . 까지 한상태로 되돌리고 싶다. (staged된 상태로 되돌리고 싶다) => soft
명령어 : git reset HEAD~1 --soft
git add . 하기 전 상태로 되돌리고 싶다. (unstaged된 상태로 되돌리고 싶다) => mixed
명령어 : git reset HEAD~1 --mixed
변경 내용을 아예 없애버리고 싶다. => hard (hard 옵션은 변경내역 까지 없애기 때문에 사용을 자제하는게 좋다.)
명령어 : git reset HEAD~1 --hard
커밋 번호로도 reset 가능하다.
git reset c31df0c530d54d175b2b3c5b2e93a8e6efd18d34
커밋내역을 되돌리고 싶을때(원격)
git revert
작업을 커밋을 하고 원격 브랜치로 push했는데 되돌리고 싶을때
reset대신 revert를 사용하자
reset은 local에서 잘못한게 있을때, revert는 잘못한 작업을 이미 푸쉬한 상태에서 되돌리고 싶을때 사용한다.
revert는 잘못 커밋한 내용을 냅두고 새로 커밋을 추가하는 것이다.
이때 되돌리고자 하는 커밋내용의 바로 앞 커밋 번호를 revert해야한다.
!!협업을 한다는 상황을 가정했을때 실수한 작업을 이미 원격브랜치로 push 했다면 reset을 사용하면 꼬일 수있으니 revert를 사용하자
rebase
git merge로 합치면 브랜치 가지가 여러갈래로 나누어져서 이를 한줄로 깔끔하게 하고 싶을때
git rebase를 사용한다.
cherry-pick
여러 커밋들이 있을 때 특정 커밋만 가져오고싶을때 cherry-pick을 이용한다.
git cherry-pick dbe4a6ef8f8abbe0051d0a6f85d0b38a824ecb40
git stash
현재 작업중인 내용을 임시로 저장하고 싶을 때 사용
git stash apply 0 등으로 적용