commit 취소
git reset
commit을 취소하고 해당 파일들은 unstaged 상태로 워킹 디렉토리에 보존
// 마지막 commit 1개를 취소
$ git reset HEAD^
$ git reset HEAD~1
// 마지막 commit 2개를 취소
$ git reset HEAD^^
$ git reset HEAD~2
commit을 취소하고 해당 파일들은 unstaged 상태로 워킹 디렉토리에서 삭제
$ git reset --hard HEAD^
원하는 커밋으로 돌아가기 (해당 커밋 이후의 로그와 작업들이 다 지워지고 해당 커밋의 상태로 되돌아온다)
// 커밋번호여섯자리는 git log를 통해 확인할 수 있다
$ git reset 커밋번호여섯자리 --hard
git revert
reset과 다르게 revert를 이용하면 해당 커밋으로 돌아와도 로그를 지우지 않고 덮어쓰기 때문에 다시 미래로 되돌릴 수 있다
// 커밋번호여섯자리는 git log를 통해 확인할 수 있다
$ git revert 커밋번호여섯자리 --hard
push 취소
// 마지막 push만 취소한다는 가정 아래 아래 명령어를 통해 마지막 commit 1개를 취소
$ git reset HEAD^
// 커밋 메세지 작성
$ git commit -m "Write commit messages"
// 원격 브랜치에 강제로 push
$ git push origin [branch name] -f
console.log 검색
grep
작업을 하다보면 console.log을 찍으면서 디버깅하는 경우가 많은데, 콘솔이 많이 찍게 되면 원하는 내용의 콘솔만 딱 보기가 어렵다. 그래서 이때 grep
명령어를 이용하면 문자열이나 정규표현식으로 검색할 수 있다
$ git grep -n [검색어] //검색 결과를 줄 번호와 함께 보여준다.
$ git grep --count [검색어] //검색 결과의 갯수를 보여줌
$ git grep -p [검색어] //함수나 메서드를 검색하여 보여줌
$ git grep --and [검색어] //한 라인에 검색어가 여러개 있는 줄검색
EX) 만약 dev를 실행하면서 grep으로 ###이 포함된 콘솔만 보고 싶다면 아래처럼 사용할 수 있다
$ yarn dev | grep "###"