2dowon's log

GIT 자주 사용하는 명령어

July 11, 2021

작업할 때 VSCode를 사용하는데, add, message, commit, push 작업은 VSCode의 Source Control을 이용하는 것이 더 편해서 이를 사용한다. 그래서 git 명령어는 pull, merge 그리고 branch checkout과 생성할 때에만 자주 사용한다. commit 취소나 push 취소의 경우, 가끔씩 실수하면 사용하는데 그러다보니 계속 사용할 때마다 찾고 있기도 하고, 특히 최근 console.log를 검색할 수 있는 grep 에 대해서도 알게 되어서 같이 정리할 겸 적어두려고 한다.

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.


Profile picture
@2dowon
Junior Frontend Engineer