트레인스포팅
98
2018-10-11 21:58:25
5
256

git 이전 commit으로 돌아가서 수정하는 방법


안녕하세요.


git 쓰다가 문제가 생겨 여쭤봅니다 ㅠㅠ

잘 쓰고 있다가, 어느 순간 커밋을 보니까, add 되면 안되는 파일(secret 설정 파일)이 찍혀있더라구요.

과거의 커밋 때 add . 로 처리하다보니, 이런 실수가 생긴 것 같습니다 ㅜㅜ

해당 과거로 돌아가 해당 파일만 add 에서 빼놓고 다시 커밋을 찍고, 다시 현재로 돌아오고 싶은데 어떻게 하면 될까요 ㅠㅠ

참고로 저 파일은 저 과거때 한번 add 되고나서 이후 다른 커밋에서는 건드리지 않았습니다.

0
0
  • 답변 5

  • LichKing
    11k
    2018-10-11 21:59:50

    reset으로 커밋을 아예 취소하는 방법이있고, 나중에라도 그 파일을 git에서 제외하는 방법이 있습니다.

    1
  • 즐겁게
    570
    2018-10-11 22:16:46

    head 정보만 알면 해당파일만 checkout, reset 인가 명령어로 되돌릴수 있죠

    -hard 안붇이면 로컬파일만 바뀌구요

    1
  • jjmean2
    175
    2018-10-11 22:19:05 작성 2018-10-11 22:33:33 수정됨

    git filter-branch를 사용하시면 처음 그 파일이 커밋된 이후 모든 커밋에서 그 파일만 제외시킬 수 있습니다. 

    다만 내용은 그 파일 빼고는 전부 그대로이겠지만, 커밋해시는 그 이후 모든 커밋이 다 바뀌기 때문에 서버에 푸시된 상태라면 강제 푸시를 해야 합니다. 


    https://git-scm.com/book/ko/v1/Git-도구-히스토리-단장하기

    1
  • 트레인스포팅
    98
    2018-10-12 01:49:51

    다들 감사합니다. 


    @jjmean2

    제가 원하던 기능을 딱 집어주셨습니다!

    0
  • Dive_Drink_Develope
    3k
    2018-10-12 09:04:31

    http://fuirosun.tistory.com/entry/git-git-push-%EB%90%98%EB%8F%8C%EB%A6%AC%EA%B8%B0


    이것도 참조해 보시죠 :)

    0
  • 로그인을 하시면 답변을 등록할 수 있습니다.