변경 사항 삭제/Git을 사용하여 이전 커밋으로 되돌리기위한 여러 가지 방법을 보았습니다. 나는 보통 내 상황에 맞는 것을 알아낼 수 있지만, 그 과정에서 나는 다른 접근법으로 인해 혼란스러워했다. 가장 최근에 일부 파일 이름을 실행 취소하려고 시도했지만 아무리 열심히 노력해도 이전 버전의 파일을 계속 이전 버전으로 되돌릴 수 없었습니다.Git의 변경 사항을 취소하는 올바른 방법
나는 어떤 접근 방법을 사용해야하며 이유는 무엇인지 명확히하고 싶습니다. 다음은 몇 가지 접근 방식에 대한 이해입니다. 그 대답은 매우 맥락적일 수 있다는 것을 알고 있습니다. 그러나 나는 어떤 접근법이 어떤 문맥을 필요로 하는지를 분석하려고합니다.
1) 파일의 최신 버전을 체크 아웃하는 데 사용 git checkout -- .
- 는 기존 파일을 덮어 쓸 가능성이 있지만, 이름 변경 또는 새 파일 삭제에 영향을 미치지 않습니다.
2) git stash save --keep-index
는이를 완전히 삭제, git stash drop
- 숨겨 놨다 커밋 파일 하였다. 유지하려는 변경 사항을 커밋하고 취소하려는 변경 사항을 커밋하지 않은 경우에 좋은 방법입니다. 마지막 커밋 이후
3) git reset --hard
- 은 삭제 및 추가, 파일 이름 변경을 포함하여, 모든 것을 정리합니다.
이 내 옵션의 내 현재의 이해입니다. 내 설명에 어떤 변화가 있습니까? 또한 위의 명령 대신 git revert
을 사용할 때는 확신이 없습니다.
원본 게시물 :
- Can't seem to discard changes in Git
- How do I discard unstaged changes in Git?
- GIT Discard any changes I've made to a branch
-u는 무엇을합니까? 나는 정말 필요없는 코드를 숨김 스택에 채우고 싶지 않습니다. –
숨겨진 채우기에 대해 걱정하지 마십시오. '-u'는 추적 된 파일 외에 추적되지 않은 파일을 숨 깁니다. 리셋처럼 동작 할 수 있습니다. –