찾다

 >  Q&A  >  본문

이상한 자식 문제입니다. 분석하는 데 도움을 주세요.

예를 들어 작업 공간에 test.html이라는 새 파일을 만든 다음 git status:

git이 새로 추가된 파일을 감지하고 추가하라는 메시지를 표시합니다. 일시적으로 저장 영역을 추가합니다.
다음을 실행하세요:
git Reset --hard
아무것도 실행되지 않은 것 같습니다. git 상태를 보세요:

아직입니다. 파일이 방금 추가되었을 때의 git 상태입니다. Tip. 새로 추가된 test.html은 삭제되지 않았습니다.

이제 실행:
git add dist/test.html
git 상태 보기:

새로 추가된 test.html을 임시 저장 영역에 넣고 다음을 실행합니다:
git Reset --hard
git status를 다시 보면 작업공간과 Staging Area가 모두 깨끗하고 새로 추가된 test.html도 없어져 있다.

두 작업의 차이점을 요약합니다.
또한 새 test.html 파일을 만듭니다.
첫 번째는 직접 git Reset --hard를 생성하는 것입니다. new test.html 파일은 작업공간에 보관됩니다
두 번째 방법은 이 새 test.html 파일을 먼저 추가하고 임시 저장 영역에 추가한 후 git Reset하는 것입니다. --hard, 작업공간의 test.html 파일도 삭제됩니다.
git Reset --hard가 마지막으로 제출된 레코드로 작업공간과 스테이징 영역을 덮어쓰는 경우 첫 번째 경우 test.html을 삭제해야 합니다. git Reset --hard가 추적되지 않은 파일을 처리하지 않는 경우 두 번째 경우에는 test.html이 작업 공간에서 삭제되지 않습니다.
벌써 어지러워서 git의 답변을 기다리고 있는 것 같아요. 아마도 git의 버그인 것 같아요.

我想大声告诉你我想大声告诉你2794일 전570

모든 응답(3)나는 대답할 것이다

  • 高洛峰

    高洛峰2017-05-02 09:35:59

    git Reset --hard는 스테이징 영역과 작업 공간의 내용을 HEAD가 가리키는 버전으로 재설정합니다.
    두 번째 경우에는 스테이징 영역과 작업 영역의 test.html이 사라졌습니다.
    첫 번째 경우는 첫 번째 사진을 자세히 보면 test.html이 Untracked 파일이라는 것을 알 수 있는데, 이는 해당 파일이 추적되지 않았음을 의미하므로 당연히 삭제되지는 않습니다.

    회신하다
    0
  • 给我你的怀抱

    给我你的怀抱2017-05-02 09:35:59

    으아아아

    git reset Stage와 Working 영역에 영향을 미치기 때문에(직접 말씀하셨네요) Git에 버그가 있는 것이 아니라 기본 개념을 이해하지 못하고 있다는 것입니다.

    회신하다
    0
  • 淡淡烟草味

    淡淡烟草味2017-05-02 09:35:59

    1. 임시 저장 영역을 취소하려면 git Reset을 사용하세요. --hard를 사용하지 마세요.
    2. 작업 공간을 취소하려면 git checkout을 사용하세요.

    회신하다
    0
  • 취소회신하다