Git 명령 취소 방법 과 주의사항 ( pull, merge, commit, add)
잘못 커밋하고.. 잘못 추가하고..
내가 맨날 검색하던 내용들..
Git 명령 취소는 왜?
Git은 강력한 버전 관리 도구지만, 때로는 실수로 잘못된 커밋이나 병합을 하거나, 원치 않는 파일을 추가하게 되는 경우가 있습니다.
이 가이드에서는 Git의 다양한 명령들을 취소하고 이전 상태로 되돌리는 방법에 대해 설명합니다.
각 명령에 대한 설명과 함께, 상황에 맞는 구체적인 사용 예시를 제공하니 참고하시기 바랍니다.
1. Git Pull 취소하고 되돌리기
git pull
명령은 원격 저장소의 변경 사항을 가져와 현재 브랜치에 병합합니다.
하지만 가끔 예상치 못한 충돌이나 잘못된 변경 사항을 병합하게 될 수 있습니다. 이럴 때는 다음 명령어로 pull 작업을 취소할 수 있습니다:
git reset --hard ORIG_HEAD
이 명령은 pull 이전 상태로 작업 트리를 되돌리며, 원치 않는 병합을 되돌릴 수 있습니다.
추가정보 & 주의사항
이 명령어는 변경된 파일을 포함하여 모든 것이 되돌려지므로 주의해서 사용해야 합니다.
만약 데이터가 필요하다면, git stash
명령어로 먼저 저장하고 되돌리는 것이 좋습니다.
2. Git Merge 취소하고 되돌리기
git merge
는 여러 브랜치에서의 작업을 통합할 때 사용하는 중요한 명령어입니다. 그러나 충돌이나 예상치 못한 결과가 발생한 경우에는 병합을 취소하고 이전 상태로 되돌릴 수 있습니다.
git reset --merge ORIG_HEAD
이 명령어는 병합 도중 발생한 충돌 상태도 포함하여 모든 병합 작업을 취소합니다.
추가정보 & 주의사항
만약 충돌 해결 중이었고, 해당 병합 상태를 유지하고 싶다면
git reset --merge
대신
git checkout --conflict=merge
명령어를 사용할 수 있습니다. 이 명령은 충돌 파일만 초기화하고 나머지 병합 상태를 유지합니다.
3. Git Commit 취소하고 되돌리기
커밋을 잘못했거나, 더 많은 파일을 추가하고 싶을 때 커밋을 취소할 수 있습니다. git commit
명령을 취소하려면 아래 명령어를 사용할 수 있습니다.
>git reset --hard HEAD
>git reset --soft HEAD~1
이 명령어는 가장 최근의 커밋을 취소하되, 스테이징된 파일은 유지합니다. 즉, 다시 커밋을 할 준비가 된 상태로 변경 사항을 보존합니다.
추가정보 & 주의사항
만약 커밋만 취소하고 스테이징된 파일들을 작업 디렉터리로 되돌리고 싶다면, git reset --mixed HEAD~1
명령어를 사용하세요. 파일은 여전히 작업 트리에 남아있지만, 스테이징은 해제됩니다.
4. Git Add 취소하고 되돌리기
git add
명령으로 잘못된 파일을 스테이징했거나, 특정 파일만 스테이징을 취소하고 싶다면 다음 명령어로 이를 해결할 수 있습니다:
>git reset HEAD <파일명>
이 명령어는 특정 파일의 스테이징 상태를 취소합니다. 예를 들어,
git add .
로 모든 파일을 추가했다면, 특정 파일을 선택해 스테이징 해제할 수 있습니다.
추가정보 & 주의사항
스테이징 취소 후에도 파일 내용은 작업 디렉터리에 남아있습니다. 만약 수정 내용까지 완전히 되돌리고 싶다면
git checkout -- <파일명>
명령어를 사용해 작업 트리에서 파일 변경을 취소할 수 있습니다.
🔗 관련 링크
git pull 취소, github merge 취소, git commit 취소, git add 취소