Bisect버그가 발생했을 때 원인, 시점을 찾을 때 사용한다.$ git bisect start$ git bisect bad$ git bisect good $ git bisect bad---------------------------$ git bisect git bisect는 이진검색을 이용하여 버그 발생 시점을 찾아낸다. 해당 커밋에 에러가 없으면 $ git bisect good해당 커밋에 에러가 있으면 $git bisect bad 명령을 입력하면 된다.N개의 커밋이 있을 때, 1+log₂N번 이하의 테스트로 버그가 있는 커밋을 찾아낼 수 있다.
git에서 과거의 커밋을 되돌리는 방법은 두가지가 있다. Reset push를 하기 전 모든 commit을 초기화 할 때 사용reset한 commit 이후의 history가 사라지는 안전하지 않은 방법$ git reset HEAD^: 이전 하나의 커밋 상태로 돌아가기$ git reset HEAD~2: 이전 두번째 커밋 상태로 돌아가기--soft: 커밋만 되돌리고 싶을 때--mixed: 변경한 인덱스의 상태를 원래대로 되돌리고 싶을 때 (default)--hard: 최근의 커밋을 완전히 버리고 이전 상태로 복구$ git reset --hard ORIG_HEAD: 실수로 reset했을 때 Revert push를 이미 했을 때, 해당 commit만 초기화 하고 싶을 때 사용한다.모든 history가 남는 안전..
Stash커밋하지 않은 작업을 스택 영역에 임시 저장하는 기능stash가 필요한 경우는 다음과 같다 - 커밋을 하지 않은 작업이 있는데 다른 branch로 checkout하려니 충돌이 나는 상황 - 작업하기 전 상황을 실행시키고 싶은데 커밋이나 폐기하기 싫은 경우 $ git stash: 임시저장$ git stash pop: 가장 최신 stash를 불러온 뒤 저장소에서 삭제$ git stash clear: 모든 stash 삭제 소스트리에선 상단의 스태시 버튼을 눌러 임시저장을 하고 왼쪽하단의 스태시 목록에서 스태시를 적용하거나 삭제할 수 있다.