728x90
반응형
질문 : .gitignore 및 "체크 아웃시 다음 추적되지 않는 작업 트리 파일을 덮어 씁니다."
그래서 .gitignore 파일에 폴더를 추가했습니다.
일단 내가 git status
하면 나에게 알려줍니다.
# On branch latest
nothing to commit (working directory clean)
그러나 분기를 변경하려고하면 다음과 같은 결과가 나타납니다.
My-MacBook-Pro:webapp marcamillion$ git checkout develop
error: The following untracked working tree files would be overwritten by checkout:
public/system/images/9/thumb/red-stripe.jpg
public/system/images/9/original/red-stripe.jpg
public/system/images/8/thumb/red-stripe-red.jpg
public/system/images/8/original/red-stripe-red.jpg
public/system/images/8/original/00-louis_c.k.-chewed_up-cover-2008.jpg
public/system/images/7/thumb/red-stripe-dark.jpg
public/system/images/7/original/red-stripe-dark.jpg
public/system/images/7/original/DSC07833.JPG
public/system/images/6/thumb/red-stripe-bw.jpg
public/system/images/6/original/website-logo.png
public/system/images/6/original/red-stripe-bw.jpg
public/system/images/5/thumb/Guy_Waving_Jamaican_Flag.jpg
public/system/images/5/original/logocompv-colored-squares-100px.png
public/system/images/5/original/Guy_Waving_Jamaican_Flag.jpg
public/system/images/4/thumb/DSC_0001.JPG
public/system/images/4/original/logo.png
public/system/images/4/original/DSC_0001.JPG
public/system/images/4/original/2-up.jpg
public/system/images/3/thumb/logo2.gif
public/system/images/3/original/logo2.gif
public/system/images/3/original/Guy_Waving_Jamaican_Flag.jpg
public/system/images/3/original/11002000962.jpg
public/system/images/2/thumb/Profile Pic.jpg
public/system/images/2/original/Profile Pic.jpg
public/system/images/2/original/02 Login Screen.jpg
public/system/images/1/original/Argentina-2010-World-Cup.jpg
Please move or remove them before you can switch branches.
Aborting
이것은 내 .gitignore 파일의 모습입니다.
.bundle
.DS_Store
db/*.sqlite3
log/*.log
tmp/**/*
public/system/images/*
public/system/avatars/*
파일을 삭제하지 않고 분기를 전환 할 수 있도록 어떻게 작동합니까?
변경하면 해당 파일에 영향을 줍니까? 즉, 나중에이 브랜치로 돌아 오면 최근 커밋까지 모든 것이 완벽할까요?
파일을 잃어 버리고 싶지 않고 추적하는 것도 원하지 않습니다.
답변
파일을 무시하고 싶은 것 같지만 이미 커밋되었습니다. .gitignore는 이미 저장소에있는 파일에 영향을주지 않으므로 git rm --cached
를 사용하여 제거해야합니다. --cached
는 작업 복사본에 영향을주지 않으며 다음에 커밋 할 때 제거 된 것으로 표시합니다. 파일이 저장소에서 제거 된 후 .gitignore는 파일이 다시 추가되는 것을 방지합니다.
그러나 .gitignore에 또 다른 문제가 있습니다. 와일드 카드를 과도하게 사용하여 예상보다 적게 일치하게 만듭니다. 대신 .gitignore를 변경하고 이것을 시도하십시오.
.bundle
.DS_Store
db/*.sqlite3
log/*.log
tmp/
public/system/images/
public/system/avatars/
출처 : https://stackoverflow.com/questions/4858047/gitignore-and-the-following-untracked-working-tree-files-would-be-overwritten
728x90
반응형
'개발관련 > Git' 카테고리의 다른 글
Git에서 단계화 되지 않은 변경 사항을 폐기하는 방법 (0) | 2021.12.06 |
---|---|
git stash에서 단일 파일 (또는 파일 변경)을 추출하는 방법 (0) | 2021.12.06 |
Git에서 한 파일의 작업 복사본 수정을 취소하는 방법 (0) | 2021.12.05 |
git clone --mirror와 git clone --bare의 차이점 (0) | 2021.12.05 |
Git에서 파일을 언 스테이징하는 두 가지 방법이 있는 이유 (0) | 2021.12.05 |