git에서 파일을 수정하고 원래대로 되돌리는 방법에 대하여 알아보려합니다. 어떻게하면 수정 전 상태로 되돌릴 수 있을까요?
# git 파일 수정 이전 상태로 되돌리기
git에서 수정된 파일을 최초상태로 되돌릴 경우 아래와 같이 수행합니다.
git checkout filename
위 명령어는 수정하기 이전의 상태... 즉 마지막 동기화된 상태로 되돌리게됩니다.
만약 경로명을 입력할 경우 아래와 같이 -- 를 추가합니다.
git checkout -- path/filename
혹시 동작하지 않는경우 path라고 쓰인 곳 앞에 /를 넣지 말고 사용하세요.
! Conflict(컨플릭트) 해결하는 방법
여러 명이 같은 파일을 동시에 작업한는 경우 동일한 부분이 같이 변경되어 Conflict가 나타날 수 있습니다. 이 경우 Conflict를 해결해야 하는데 만약 내가 수정하거나 다른 이가 수정한 부분으로 변경하여 반영하려면 아래와 같이 수행합니다.
git checkout --ours path/filename
git checkout --theirs path/filename
--ours 자신이 수정한 내용으로 반영
--theirs 상대방이 수정한 내용으로 반영
어느 쪽으로 반영할 지 결정하였으면 수정된 내용을 다시 staged로 바꾸고 커밋하여 push하면 해결됩니다.
참고로 conflict 과정에서 남이 작업해둔 내용이 삭제되거나 정상 동작하지 않는 문제가 없도록 매우 신중하게 작업해야합니다.
! 잘못된 branch를 pull 한 경우 되돌리기
만약 잘못된 branch를 git pull 명령어로 현재 브랜치에 가져온 경우 이를 되돌리는 방법입니다.
git reset --hard HEAD~1
여기까지 이전 상태로 되돌리는 방법을 알아보았습니다.