Programing

자식 추적에서 폴더 제거

lottogame 2020. 3. 3. 22:54
반응형

자식 추적에서 폴더 제거


추적에서 폴더 (이름 업로드)를 제외해야합니다. 나는 달리려고 노력했다

git rm -r --cached wordpress/wp-content/uploads

그 후 .gitignore에 경로를 추가했습니다.

/wordpress/wp-content/uploads

그러나 내가 실행 git status하면 삭제 된 것으로 표시됩니다. 변경 사항을 커밋하려고하면 파일이 추적에서 제거 될뿐만 아니라 삭제됩니다.

내가 도대체 ​​뭘 잘못하고있는 겁니까?

나는 또한 시도했다

git update-index --assume-unchanged <file>

그러나 이것은 파일 만 추적하지 않는 것 같습니다. 그러나 추적에서 전체 폴더 (하위 폴더 포함)를 제거해야합니다.


"추적에서 폴더 제거 폴더"에 대한 인터넷 검색 중에이 질문을 발견했습니다. OP의 질문으로 답을 얻었습니다. 나는 미래 세대를 위해 여기에 요약하고 있습니다.

질문

로컬 컴퓨터 (예 : 개발 환경)에서 폴더를 삭제하지 않고 git 저장소에서 폴더를 제거하려면 어떻게합니까?

대답

1 단계. 리포지토리의 루트 .gitignore파일에 폴더 경로를 추가 합니다.

path_to_your_folder/

단계 2. 로컬 git 추적에서 폴더를 제거하되 디스크에는 보관하십시오.

git rm -r --cached path_to_your_folder/

단계 3. git repo로 변경 사항을 푸시하십시오.

이 폴더는 Git의 관점에서 "삭제"된 것으로 간주됩니다 (즉, 이전 커밋은 아니지만 최신 커밋이 아니므로이 리포지토리에서 파일을 가져 오면 트리에서 파일이 제거됩니다). 을 사용했기 때문 --cached입니다.


이것은 나를 위해 작동합니다 :

git rm -r --cached --ignore-unmatch folder_name

--ignore-unmatch 이 옵션이 없으면 git은 인덱스에없는 첫 번째 파일에서 오류와 함께 종료됩니다.


디렉토리를 재귀 적으로 /*/*경로에 추가하지 않으려면 :

git update-index --assume-unchanged wordpress/wp-content/uploads/*/*

사용은 git rm --cached협력 좋지 않다. 자세한 내용은 여기 : Git에서 파일 추적을 중지하고 파일 변경 사항을 무시하는 방법은 무엇입니까?


자식 문서에서 :

다른 유용한 방법은 파일을 작업 트리에 유지하고 준비 영역에서 제거하는 것입니다. 즉, 파일을 하드 드라이브에 보관하고 더 이상 Git이 추적하지 않도록 할 수 있습니다. 이것은 .gitignore 파일에 무언가를 추가하는 것을 잊어 버렸거나 큰 로그 파일이나 많은 .a 컴파일 된 파일과 같이 실수로 파일을 스테이징 한 경우 특히 유용합니다. 이렇게하려면 --cached 옵션을 사용하십시오.

$ git rm --cached readme.txt

"-r"을 포함하지 않습니까?


나는 이것이 오래된 스레드라는 것을 알고 있지만 표시된 솔루션으로 문제를 해결하지 못했기 때문에 조금 추가하고 싶었습니다 (여러 번 시도했지만).

폴더를 추적하는 자식 양식을 실제로 중지 할 수있는 유일한 방법은 다음을 수행하는 것입니다.

  1. 로컬 폴더를 백업하고 안전한 장소에 보관하십시오.
  2. 로컬 리포지토리에서 폴더 삭제
  3. 캐시가 지워 졌는지 확인하십시오 git rm -r --cached your_folder/
  4. your_folder/.gitignore에 추가
  5. 커밋 변경
  6. 백업을 리포지토리에 다시 추가

이제 폴더가 더 이상 추적되지 않는 것을 볼 수 있습니다.

캐시를 지우는 것이 왜 효과가 없는지 묻지 마십시오 .Git 슈퍼 마법사는 아니지만 이것이 문제를 해결하는 방법입니다.


2.5 단계 : 변경 사항을 커밋합니다.

>git commit

이 작업을 수행하지 않고 푸시하면 아무것도하지 않습니다!

참고 URL : https://stackoverflow.com/questions/24290358/remove-a-folder-from-git-tracking



반응형