파일 시스템에서 파일을 제거하지 않고 인덱스에서 파일을 제거하는 방법 (= 준비 영역 = 캐시)?
답변
당신이 원하는 :
git rm --cached [file]
--cached
옵션 을 생략 하면 작업 트리에서도 옵션이 삭제됩니다. 준비된 콘텐츠가 분기의 끝 또는 디스크의 파일과 일치하지 않으면 경고 메시지가 표시되므로 git rm
보다 약간 안전 git reset
합니다. (그렇지 않으면을 추가해야합니다 --force
.)
답변
파일을 제거하거나 수정하지 않고 <file>의 스테이지를 해제해야합니다.
git reset <file>
답변
git reset HEAD <file>
색인에서 특정 파일을 제거합니다.
과
git reset HEAD
인덱싱 된 파일을 모두 제거합니다.
답변
워크 플로에 따라, 이것은 명령 줄 솔루션을 알아 내려는 데 거의 도움이되지 않을 정도로 거의 필요하지 않을 수도 있습니다 (어떤 이유로 그래픽 인터페이스없이 작업하지 않는 한).
인덱스 관리를 지원하는 GUI 기반 도구 중 하나를 사용하십시오 (예 :
git gui
<-Tk 윈도우 프레임 워크를 사용합니다.gitk
git cola
<-보다 현대적인 GUI 인터페이스
포인트 앤 클릭으로 인덱스 안팎으로 파일을 이동할 수 있습니다. 또한 파일의 일부 (개별 변경)를 선택하거나 인덱스에서 이동하는 기능도 지원합니다.
다른 관점은 어떻습니까? 제안되고 다소 비밀스러운 명령 중 하나를 사용하는 동안 엉망이되면 :
git rm --cached [file]
git reset HEAD <file>
… 실제로 데이터를 잃어 버리거나 최소한 찾기가 어려울 수 있습니다. 매우 높은 빈도로이 작업을 수행해야하는 경우가 아니라면 GUI 도구를 사용하는 것이 더 안전 할 것 입니다.
색인없이 작업
의견과 투표를 바탕으로 많은 사람들이 항상 색인을 사용한다는 것을 알게되었습니다. 난 아니야 방법은 다음과 같습니다.
- 전체 작업 사본을 커밋하십시오 (일반적인 경우).
git commit -a
- 몇 개의 파일 만 커밋하십시오.
git commit (list of files)
- 수정 된 파일을 제외하고 모두 커밋 :
git commit -a
다음을 통해 수정git gui
- 작업 사본의 모든 변경 사항을 그래픽으로 검토하십시오.
git difftool --dir-diff --tool=meld