[git]알아두면 은근 쓸모 있는 명령어들 (코드 되돌리기, merge 취소, commit 기록에서 특정 파일/폴더 삭제)

zzarbttoo·2021년 8월 4일
0

Git/Github

목록 보기
1/4

깃을 사용할 때 은근 사용하면 편리한 명령어들을 모아봤다!
(push pull add commit 아님)

1. 지금까지 기록 덮어서 pull 땡기기

git reset --hard origin/브랜치이름

나는 쫄보여서 무언가를 성공할 때마다 커밋을 하고 푸시를 해놓는 편이다
성공 후에 무언가 조작을 했을 때 다시 망할 느낌이 온다면
위 명령어를 써서 origin의 커밋 기록을 다시 땡겨올 수 있다(개꿀)

2. merge 취소 명령어

git merge -abort

사실 그래선 안되지만, 머지 명령어를 치고 갑자기 걷잡을 수 없이
컨플릭트가 나는 경우들이 있다

이런 빨간색이 진짜 덕지덕지덕지덕지 날 경우에 멘탈이 나가는 경험을 할 수 있다
그럴 때 위 명령어를 써서 머지를 없던일로 할 수 있다^^^^^
(후처리는 알아서 하세요)

3. github에 올라간 특정 파일/폴더 삭제(commit 기록에서 모두 삭제)

(출처1 , 출처2)

아래 과정을 다 해야한다
참고로 window 라면 cmd에서 하면 안되고 gitbash 같은 것을 이용하길 바란다(cmd에서는 인식 안됨)

1) 폴더 : git filter-branch --tree-filter 'rm -rf 폴더경로' HEAD 
   파일 : git filter-branch --tree-filter 'rm -f 파일경로' HEAD
2) git filter-branch --prune-empty HEAD
3) git commit -am "커밋메시지"
4) git push origin 브랜치명 --force 

이 명령어도 은근 많이 사용했는데 이런 경우에 많이 사용했다

  1. 커밋 기록에 올라가서는 안될 파일(!)이 올라갔을 때
  2. 용량은 더럽게 큰데 형상관리는 할 필요 없는 .metadata 같은 폴더들이 올라갔을 때

1번의 경우에는 절대절대 일어나선 안되는 상황이지만 그래도 위 명령어로 수습은 가능할 수 있다
(실제로 저 상황에서 레포를 날려버리는 경우도 봤다)

그리고 두번째 경우에도 한번 지우고 나면 push/pull 할 때 속도가 빨라지는 그 상쾌함을 잊을 수 없다😀

위 명령어들을 참고해 상쾌한 형상관리를 했으면 좋겠다

profile
나는야 누워있는 개발머신

0개의 댓글