커밋 후 .gitignore
Github에서 호스팅되는 git 저장소가 있습니다. 많은 파일을 커밋 후, 나는 내가 만들 필요가 실현하고 .gitignore
및 제외 .exe
, .obj
파일을.
그러나 커밋 된 파일을 리포지토리에서 자동으로 제거합니까? 그것을 강요 할 방법이 있습니까?
아니요 repo에서 이미 커밋 된 파일을 파일에 추가 되었기 때문에 강제로 제거 할 수 없습니다. .gitignore
당신은해야 git rm --cached
당신이 REPO에서 원하지 않는 파일을 제거 할 수 있습니다. (로컬 복사본을 유지하고 리포지토리에서 제거하고 싶을 수 있기 때문에 --cached) 따라서 리포지토리에서 모든 exe를 제거하려면
git rm --cached /\*.exe
(별표 *는 셸에서 인용됩니다. 셸이 아닌 git은 파일 및 하위 디렉토리의 경로 이름을 확장 할 수 있습니다)
그러나 커밋 된 파일을 리포지토리에서 자동으로 제거합니까?
아니요. 기존 .gitignore
파일을 사용하더라도 -f
(force) 플래그를 사용하여 "무시 된"파일을 스테이징 할 수 있습니다. 파일이 이미 커밋 된 경우 자동으로 제거되지 않습니다.
git rm --cached path/to/ignored.exe
변경 사항을 아직 푸시하지 않은 경우 :
git rm -r --cached .
git add .
git commit -m 'clear git cache'
git push
.idea와 대상 폴더를 제거해야했고 모든 주석을 읽은 후에 이것이 효과가있었습니다.
git rm -r .idea
git rm -r target
git commit -m 'removed .idea folder'
그리고 마스터로 밀어
그러나 커밋 된 파일을 리포지토리에서 자동으로 제거합니까?
아니.
이를위한 '최상의'레시피는 다음 git filter-branch
과 같이 쓰여 있습니다.
git-filter-branch의 매뉴얼 페이지에는 포괄적 인 예제가 포함되어 있습니다.
참고 기록을 다시 작성하게됩니다. 실수로 추가 한 파일이 포함 된 개정판을 게시 한 경우 해당 공개 지사 사용자에게 문제가 발생할 수 있습니다. 그들에게 알리거나 파일을 얼마나 제거해야하는지 생각해보십시오.
참고 태그가있는 경우 항상 --tag-name-filter cat
옵션을 사용하십시오 git filter-branch
. 나중에 필요하다는 것을 깨달을 때 결코 아프지 않고 머리통을 구할 것입니다.
파일을 삭제 한 다음 커밋 한 후에도 해당 파일은 기록에 남아 있습니다. 이를 삭제하려면 BFG Repo-Cleaner 사용을 고려하십시오 . git-filter-branch의 대안입니다.
참고 URL : https://stackoverflow.com/questions/6535362/gitignore-after-commit
'Programing' 카테고리의 다른 글
데이터 손실없이 SQL 데이터베이스에서 열 데이터 유형을 변경하는 방법 (0) | 2020.05.14 |
---|---|
이름이 주어진 클래스의 모든 서브 클래스를 찾는 방법은 무엇입니까? (0) | 2020.05.14 |
“set -e”의 효과를 취소하여 명령이 실패 할 때 bash를 즉시 종료하는 방법은 무엇입니까? (0) | 2020.05.14 |
Chrome 개발자 도구 도킹 해제 (0) | 2020.05.14 |
긴 줄을 파이썬으로 감싼다 (0) | 2020.05.14 |