.git는 커밋 후 무시합니다.
Github에 Git 저장소를 호스팅하고 있습니다.많은 파일을 커밋한 후에 나는 내가 생성해야 한다는 것을 깨달았습니다..gitignore및 제외.exe,.obj파일
그러나 이러한 커밋된 파일이 저장소에서 자동으로 제거됩니까?그것을 강요할 수 있는 방법이 있습니까?
아니요. 레포에 이미 커밋된 파일을 강제로 제거할 수 없습니다. 단지 파일이.gitignore
당신은 해야 합니다.git rm --cached저장소에서 원하지 않는 파일을 제거합니다. ( --로컬 복사본은 유지하지만 저장소에서 제거하기를 원하기 때문에 캐시됩니다.) 따라서 저장소에서 모든 exe를 제거하려면
git rm --cached /\*.exe
(아스터리스크 *는 셸에서 따옴표로 따옴표로 묶습니다. 그러면 셸이 아닌 git로 파일 및 하위 디렉터리의 경로 이름을 확장할 수 있습니다.)
변경 내용을 아직 푸시하지 않은 경우:
git rm -r --cached .
git add .
git commit -m 'clear git cache'
git push
그러나 이러한 커밋된 파일이 저장소에서 자동으로 제거됩니까?
아니요. 심지어 기존에도..gitignore당신은 다음을 사용하여 "스캐너" 파일을 준비할 수 있습니다.-f깃발파일이 이미 커밋된 경우 자동으로 제거되지 않습니다.
git rm --cached path/to/ignored.exe
.idea와 대상 폴더를 제거해야 했고 모든 코멘트를 읽은 후에 이것이 나에게 효과가 있었습니다.
git rm -r .idea
git rm -r target
git commit -m 'removed .idea folder'
마스터로 이동합니다.
그러나 이러한 커밋된 파일이 저장소에서 자동으로 제거됩니까?
아니요.
이를 위한 '최고의' 레시피는 다음과 같습니다.git filter-branch여기에 기록된 바와 같이:
git-filter-branch의 man 페이지에는 포괄적인 예제가 포함되어 있습니다.
참고 기록을 다시 작성합니다.실수로 추가된 파일이 포함된 수정본을 게시한 경우 해당 공용 분기의 사용자에게 문제가 발생할 수 있습니다.그들에게 알리거나 파일을 얼마나 심하게 제거해야 하는지 생각해 보십시오.
참고 태그가 있는 경우 항상 다음을 사용합니다.--tag-name-filter cat에 대한 선택권.git filter-branch그것은 결코 아프지 않고 나중에 당신이 그것이 필요하다는 것을 깨달았을 때 당신의 두통을 구할 것입니다.
파일을 삭제하고 커밋한 후에도 해당 파일은 기록에 남아 있습니다.이러한 항목을 삭제하려면 BFG Repo-Cleaner를 사용해 보십시오.git-filter-branch 대신 사용할 수 있습니다.
언급URL : https://stackoverflow.com/questions/6535362/gitignore-after-commit
'sourcecode' 카테고리의 다른 글
| Azure 웹 사이트 301 리디렉션 - 어디에 두어야 합니까? (0) | 2023.05.28 |
|---|---|
| CentOS 8.x/7.x/6에 Git의 최신 버전을 설치하는 방법.x (0) | 2023.05.28 |
| 인증서 저장소의 인증서에 있는 개인 키에 대한 ASP.NET 액세스 권한을 부여하는 방법은 무엇입니까? (0) | 2023.05.28 |
| 단일 npmrc 파일에 여러 레지스트리를 구성할 수 있는 방법이 있습니까? (0) | 2023.05.28 |
| 볼륨 믹서 제어 (0) | 2023.05.28 |