세 번째 줄 commit
을 실행한 다음 프롬프트
그렇다면git checkout -- b.txt
그래도 대기 장소로 복원할 수 있나요? 왜 완전히 삭제되지 않았나요?
PHPz2017-05-02 09:49:07
새내기. . . 튜토리얼을 작성해 보세요. . . . .
원칙적으로 git에는 파일을 로컬로 저장할 수 있는 세 가지 위치가 있습니다.
<올>작업 트리: 볼 수 있는 모든 파일과 폴더를 나타냅니다.
index: 실제로는 다음 저장소처럼 .git
폴더에 저장됩니다(저장 형식은 여기서 논의하지 않습니다)
저장소: 제출된 모든 버전을 저장합니다.
모든 것이 제출된 후 WorkingTree, 인덱스 영역 및 저장소의 최신 제출물은 완전히 동일합니다.
git add
은 인덱스 영역의 파일을 WorkingTree의 파일로 교체/업데이트한다는 의미입니다. 따라서 git add b.txt
이후에는 인덱스의 b.txt 파일이 현재 저장된 b.txt
로 업데이트됩니다.
rm b.txt
파일 삭제를 의미하는 리눅스 명령어일 뿐입니다. git의 경우 WorkingTree에서 b.txt
만 삭제됩니다.
git commit
파일을 인덱스로 패키징하여 저장소에 넣는 것을 의미합니다. b.txt
는 현재 인덱스 영역에 있으므로 git commit
는 여전히 b.txt
저장소에 업데이트됩니다.
다음은 현재 WorkingTree와 인덱스 영역의 차이점을 보여줍니다.b.txt
파일이 현재 WorkingTree에서 삭제되었지만 파일은 여전히 인덱스에 존재합니다.
이 프롬프트는 경고라고 해야 합니다. git commit
는 인덱스 영역의 내용을 패키징하여 저장소에 넣는 것을 의미하기 때문입니다. 그러나 이전에 커밋되었고 새로운 항목이 추가되지 않았으므로 인덱스의 내용이 영역은 최신 제출과 동일하므로 git은 다시 저장할 필요가 없으므로 "아무것도 커밋할 수 없습니다"라고 표시됩니다.
git rm
이 명령의 의미는 특정 파일을 인덱스 영역과 WorkingTree에서 삭제하여 git rm b.txt
더 이상 인덱스에 존재하지 않게 b.txt
한다는 것입니다. 그게 다야
git checkout <branch>
브랜치의 최신 커밋으로 WorkingTree 및 인덱스 영역의 콘텐츠를 업데이트하는 것을 의미합니다. 되돌릴 수 없으므로 이 두 위치의 콘텐츠가 저장소에 제출되지 않은 경우 이 명령은 프롬프트를 표시합니다. git checkout -- filename
은 WorkingTree의 파일을 인덱스 영역의 내용으로 바꾸는 것을 의미합니다. --
는 선택 사항이며 이 매개변수 뒤의 모든 내용은 파일 이름임을 나타냅니다. (때때로 브랜치/태그 이름이 파일 이름과 같을 수도 있기 때문입니다)
추가 명령이 포함되어 있습니다. . . git status
이는 WorkingTree와 인덱스 영역 간의 차이(기본값은 빨간색), 인덱스와 최근 제출된 버전 간의 차이(기본값은 녹색? 진한 녹색?)를 표시한다는 의미입니다. 또한, 그 사이에 서로 업데이트하는 방법에 대한 팁도 있을 예정입니다.
巴扎黑2017-05-02 09:49:07
질문자는 먼저 git에 추가 작업이 필요한 이유를 알아야 합니다. git에는 처음에 명령줄만 있기 때문에 추가 작업은 GUI의 파일 선택 작업과 동일하므로 추가 및 커밋 작업은 다음과 같이 간주되어야 합니다. 전체(GUI와 마찬가지로 아래에서 파일을 선택하여 제출할 수 있음)이며 분리되어서는 안 됩니다.
滿天的星座2017-05-02 09:49:07
1.git add b.txt //작업 공간의 b.txt를 스테이징 영역(스테이지)에 추가
2.rm b.txt //git rm을 실행하지 않고 작업 공간에서 b.txt 삭제 b.txt deletes 저장소의 파일
3.git commit -m 'b.txt 파일 삭제'//git rm b.txt가 실행되지 않으므로 커밋은 1의 내용만 제출합니다
-- >실행해야 합니다 파일을 삭제하려면 2에서 3 사이의 git rm b.txt
阿神2017-05-02 09:49:07
git에서 파일 이름을 수정하는 것과 파일을 삭제하는 것은 거의 동일하다는 점을 알려드리고 싶습니다. 위에서 언급했듯이 각각 git rm 및 git mv 명령을 사용해야 작동합니다. . 잘 보시면 됩니다.
巴扎黑2017-05-02 09:49:07
.파일 삭제:
작업공간에서 파일 삭제, rm 파일 이름
두 가지 상황이 있습니다:
첫 번째 상황: 버전 라이브러리에서도 파일을 삭제해야 합니다.
git rm 파일 이름
git commit -m '설명'
두 번째 경우: 실수로 파일을 삭제했습니다
git checkout -- 파일 이름