티스토리 뷰

가끔 그럴때 있습니다.

뭐를 하고 있는데 하고 나서 내가 어? 왜 그랬지 할때 말입니다.


git으로 할때 commit만 하여 두었을 경우에는 크게 문제가 되지 않습니다.


그렇지만 만약 push까지 하였다면 트리가 조금 안 이뻐지겠죠?


그래서 reflog를 이용하여 log를 찾아서 이걸 다시 복구하는 방법을 알아봅시다.


주의할 점은 master나 다른분들께서 작업중인 브랜치에서는 하면 안될것입니다.

다른 사람들의 트리도 엉켜 버릴수가 있으니 그렇게 작업은 하지 않는걸로...


1. git reflog [브랜치명]


git reflog로 이전에 내가 했던 기록을 찾아봅니다.


2. git reset --hard [커밋명]


이전에 작업한 커밋을 찾아봅니다.

그리고 그 시점으로 돌아갑니다.


3. git push -f origin [브랜치명]


이렇게 돌아간 시점을 강제로 푸시합니다.

제가 위에 master나 다른분들께서 작업중인 브랜치에는 하지 않도록 하라는것이 이것입니다.

중간에 커밋이 다른분들께는 있는데, 갑자기 커밋이 사라져 버리는 일이 생기기 때문입니다.


* 위의 push -f는 강제로 푸시를 하는것이라 컨플릭이나도 무시하고 강제로 하는것이니 조심하시기 바랍니다.

'Version Control' 카테고리의 다른 글

git. Tag추가, 변경, 삭제  (0) 2018.06.25
git. commit 명령어에 여러줄 넣기  (0) 2018.06.18
git commit의 취소  (0) 2018.05.15
git first commit remove  (0) 2018.03.24
git에 등록된 계정 변경  (0) 2018.03.04
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
글 보관함