2dowon blog logo

2dowon

GIT 자주 사용하는 명령어

July 11, 2021

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 "###"

Ref.