어떻게 하면 삭제할 수 있습니다.DS_Git 저장소에서 파일을 저장하시겠습니까?
성가신 X를 해야 요?.DS_Store
Git ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★」
의 「」를 삭제합니다..DS_Store
다음 중 하나:
find . -name .DS_Store -print0 | xargs -0 git rm -f --ignore-unmatch
다음 행 추가:
.DS_Store
'''에 접속합니다..gitignore
이 파일은 저장소의 최상위 수준에 있습니다(또는 파일이 아직 없는 경우 생성).이것은, 톱 디렉토리에 있는 다음의 커맨드를 사용하면 간단하게 실시할 수 있습니다.
echo .DS_Store >> .gitignore
그런 다음 파일을 repo에 커밋합니다.
git add .gitignore
git commit -m '.DS_Store banished!'
하여 ★★★★★★★★★★★★★★★★★★★★★로 갱신git rm
리포에 없는 파일을 발견해도 실패하지 않고 모든 사용자가 일반적으로 붙여넣을 수 있도록 합니다.
# remove any existing files from the repo, skipping over ones not in repo
find . -name .DS_Store -print0 | xargs -0 git rm --ignore-unmatch
# specify a global exclusion list
git config --global core.excludesfile ~/.gitignore
# adding .DS_Store to that list
echo .DS_Store >> ~/.gitignore
이 문제를 해결하기 위한 최선의 해결책은 시스템상의 모든 git 저장소에서 이 파일들을 글로벌하게 무시하는 것입니다.이는 다음과 같은 글로벌 gitignore 파일을 생성함으로써 수행할 수 있습니다.
vi ~/.gitignore_global
다음과 같은 파일 무시 규칙 추가:
# Compiled source #
###################
*.com
*.class
*.dll
*.exe
*.o
*.so
# Packages #
############
# it's better to unpack these files and commit the raw source
# git has its own built in compression methods
*.7z
*.dmg
*.gz
*.iso
*.jar
*.rar
*.tar
*.zip
# Logs and databases #
######################
*.log
*.sql
*.sqlite
# OS generated files #
######################
.DS_Store
.DS_Store?
._*
.Spotlight-V100
.Trashes
ehthumbs.db
Thumbs.db
이제 글로벌 git 설정에 다음 파일을 추가합니다.
git config --global core.excludesfile ~/.gitignore_global
편집:
아이콘을 애플리케이션 자산으로 커밋해야 할 수 있으므로 제거했습니다.
상황에 따라서는 일부 파일을 전체적으로 무시할 수도 있습니다.나를 위해.DS_Store도 그 중 하나입니다.방법은 다음과 같습니다.
git config --global core.excludesfile /Users/mat/.gitignore
(또는 원하는 파일)
그런 다음 repo의 .gitignore처럼 파일을 편집합니다.절대 경로를 사용해야 한다고 생각합니다.
파일이 단계적 변경으로 인해 제거할 수 없는 경우:
git rm --cached -f *.DS_Store
가끔씩.DS_Store 파일은 원격 저장소에 있지만 로컬 프로젝트 폴더에는 표시되지 않습니다.이 문제를 해결하려면 캐시된 파일을 모두 제거하고 다시 추가해야 합니다.
스텝 1: 이 파일을 .gitignore 파일에 추가합니다.
# Ignore Mac DS_Store files
.DS_Store
**/.DS_Store
2단계: 다음 명령을 사용하여 캐시된 파일을 삭제하고 다시 추가합니다.
git rm -r --cached .
git add .
git commit -am "Removed git ignored files"
git push -f origin master
이 파일을 영구히 삭제하는 가장 좋은 방법은 다음과 같습니다.
하다.gitignore
삭제:
echo .DS_Store >> ~/.gitignore_global
Git에게 모든 저장소에 대해 이 파일을 사용하고 싶다는 것을 알립니다.
git config --global core.excludesfile ~/.gitignore_global
하다!.DS_Store
이치노
상위 투표 답변은 훌륭하지만, 저 같은 신입사원을 돕는 방법은 다음과 같습니다. .gitignore 파일을 만들고, 편집하고, 저장하고, 이미 git에 추가한 파일을 삭제하고, Github에 파일을 푸시하는 방법입니다.
.gitignore 파일을 만듭니다.
하려면 .gitignore 파일을 작성하기만 하면 .touch
지정된 이름의 빈 파일을 생성하는 파일입니다.무시하다
touch .gitignore
파일 무시
이제 git에게 DS Store 파일을 무시하도록 지시하는 행을 .gitignore에 추가해야 합니다.나노 에디터를 사용하여 이 작업을 수행할 수 있습니다.
nano .gitignore
나노는 빠져나가는 방법이 포함되어 있기 때문에 좋습니다.CtrlO (-저장,X 종료)
이 Github gest에서 아이디어를 복사하여 붙여넣습니다.이 Github gest에는 무시할 수 있는 일반적인 파일이 나열되어 있습니다.이 질문에 대한 가장 중요한 답변은 다음과 같습니다.
# OS generated files #
######################
.DS_Store
.DS_Store?
# 는 코멘트로, 파일이 커짐에 따라 정리하는 데 도움이 됩니다.
이 Github 기사에는 일반적인 아이디어와 가이드라인도 포함되어 있습니다.
git에 이미 추가된 파일 제거
마지막으로 디렉토리에서 해당 DS Store 파일을 실제로 제거해야 합니다.
가장 많이 투표된 답변에서 이 훌륭한 명령을 사용합니다.디렉토리내의 모든 폴더를 통과해, 그 파일을 git 로부터 삭제합니다.
find . -name .DS_Store -print0 | xargs -0 git rm -f --ignore-unmatch
.gitignore를 Github에 푸시합니다.
마지막 단계에서는 실제로 .gitignore 파일을 커밋해야 합니다.
git status
git add .gitignore
git commit -m '.DS_Store banished!'
터미널을 열고 "cd < Project Path >" 라고 입력합니다.
파일 :
find . -name .DS_Store -print0 | xargs -0 git rm -f --ignore-unmatch
nano .gitignore
추가 가
.DS_Store
"syslog + x"를 입력합니다.
"y"를 입력합니다.
파일을 저장하려면 입력
git add .gitignore
git commit -m '.DS_Store removed.'
위에서 git-rm을 gitrm으로 변경하여 동작시켜야 했습니다.
find . -depth -name '.DS_Store' -exec git rm --cached '{}' \; -print
기존 파일을 삭제하려면 다음 명령을 사용합니다.
find . -name '*.DS_Store' -type f -delete
에 '''를 추가합니다..DS_Store
로로 합니다..gitignore
모든 폴더 및 하위 폴더에서 DS_Store 파일을 제거하는 경우:
In case of already committed DS_Store:
find . -name .DS_Store -print0 | xargs -0 git rm --ignore-unmatch
다음 방법으로 무시:
echo ".DS_Store" >> ~/.gitignore_global
echo "._.DS_Store" >> ~/.gitignore_global
echo "**/.DS_Store" >> ~/.gitignore_global
echo "**/._.DS_Store" >> ~/.gitignore_global
git config --global core.excludesfile ~/.gitignore_global
순서 1
하면 모든 것이 됩니다..DS_Store
디렉토리 내의 파일(서브 디렉토리 포함)
find . -name .DS_Store -print0 | xargs -0 git rm -f --ignore-unmatch
순서 2
을 더하면 됩니다..gitignore
루트 디렉토리와 모든 서브 디렉토리의 DS_Store 파일이 git으로 전송되지 않도록 합니다.
**/.DS_Store
git docs에서:
- 선두의 "**" 뒤에 슬래시를 붙이면 모든 디렉토리가 일치합니다.예를 들어 "**/foo"는 패턴 "foo"와 같은 파일 또는 디렉토리 "foo"와 어디에서나 일치합니다."**/foo/bar"는 "foo" 디렉토리 바로 아래에 있는 파일 또는 디렉토리 "bar"와 일치합니다.
하여 삭제하다git-rm
합니다. to DS_Store.gitignore
다시 추가되는 걸 막으려고요또한 BlueHarvest를 사용하여 모두 함께 생성되지 않도록 할 수 있습니다.
다음과 같은 것이 가장 효과적이었습니다.일치하지 않는 파일 및 로컬 수정 파일을 처리했습니다.참고로, 이것은 git 1.7.4.4를 실행하는 Mac 10.7 시스템에서 실행되었습니다.
검색 및 제거:
find . -name .DS_Store -print0 | xargs -0 git rm --ignore-unmatch -f
또, 글로벌하게 무시합니다.DS_글로벌 core.excludes 파일을 설정하여 모든 저장소에 저장합니다.
먼저 파일을 만듭니다(아직 존재하지 않는 경우).
touch ~/.gitignore
그런 다음 다음 행을 추가하고 저장합니다.
.DS_Store
이제 파일을 글로벌하게 존중하도록 git을 설정합니다.
git config --global core.excludesfile ~/.gitignore
파티에 조금 늦었지만 좋은 답이 있어요.를 삭제하려면DS_Store files 터미널 창에서 다음 명령을 사용하되, 'find'를 사용하여 파일을 삭제해야 합니다.-name 옵션과 함께 특정 이름을 사용하는 것이 보다 안전한 사용 방법 중 하나입니다.
cd directory/above/affected/workareas
find . -name .DS_Store -delete
"-delete"는 생략할 수 있습니다.그러면 그들이 사라졌다는 것을 안심할 수 있을 것이다.
~/.gitignore_global 조언에 대해: 여기서 주의하세요.이 멋진 파일을 각 작업영역의 최상위 레벨에 있는 .gitignore에 배치하여 커밋하고 repo를 복제하는 모든 사용자가 이 파일을 사용할 수 있도록 해야 합니다.
나는 sniplr의 다음 행이 모든 것을 지우는 데 가장 좋다는 것을 발견했다..DS_Store
( ( ( ( ( 。
find . -depth -name '.DS_Store' -exec git-rm --cached '{}' \; -print
--cached
,, "" " " ".DS_Store
어차피 재생산될 거니까
위에서처럼 '우리'를 ..DS_Store
프로젝트 루트에 있는 파일을 무시합니다.그러면 더 이상 (저장소가) 보이지 않게 됩니다.
이 조작은 유효합니다.
find . -name "*.DS_Store" -type f -exec git-rm {} \;
이 름름 it it it it it it로 끝나는 모든 파일이 삭제됩니다..DS_Store
, 「」를 한다.._.DS_Store
.
어떤 이유에선지, 내 맥에서는 위 중 어느 것도 작동하지 않았다.
이 솔루션은 터미널에서 실행됩니다.
rm .DS_Store
그런 다음 다음 명령을 실행합니다.
git pull origin master
저장소를 초기화할 때 다음을 포함하는 git 명령을 건너뜁니다.
-u
그리고 그건 문제가 되지 않을 거야.
위의 두 가지 답을 조합한 결과, 저는 이 방법이 효과가 있었습니다.
- $ git rm --syslog -f *DS_스토어
- $ git commit - m " filter - index - filter ' index - filter ' rm rmrm -- displaces - unmatch .DS_Store"
- $git push origin 마스터 --force
무시된 파일 제거:
(.DS_Store)
$ find . -name .DS_Store -print0 | xargs -0 git rm --ignore-unmatch
.gitignore
를 touch .gitignore
다음 행을 추가합니다.
.DS_Store
을 건지다.gitignore
회답하다
$ git commit -m "filter-branch --index-filter 'git rm --cached --ignore-unmatch .DS_Store"
$ git push origin master --force
이 파일을 파일에 추가합니다.
#Ignore folder mac
.DS_Store
이것을 저장하고 커밋합니다.
git add -A
git commit -m "ignore .DS_Store"
그리고 이제 넌 이걸 무시해 버렸어
이 문제를 해결하기 위한 몇 가지 해결책이 있습니다.를 작성하지 않도록 합니다.DS_Store 파일, OS X Finder를 사용하여 폴더를 표시하지 마십시오.폴더를 표시하는 다른 방법으로는 UNIX 명령줄을 사용하는 방법이 있습니다.를 삭제하려면DS_Store 파일 DS_Store Terminator라는 서드파티 제품을 사용할 수 있습니다.를 삭제하려면시스템 전체에서 DS_Store 파일을 UNIX 쉘 명령을 사용할 수 있습니다.응용 프로그램에서 터미널 시작:유틸리티 UNIX 쉘 프롬프트에서 UNIX 명령어 sudo find / -name 을 입력합니다.DS_Store" - depth - exec rm {} \; 비밀번호를 입력하라는 메시지가 나타나면 Mac OS X Administrator 비밀번호를 입력합니다.
이 명령어는 의 모든 항목을 검색하여 삭제합니다.DS_파일 시스템의 루트(/)부터 머신 전체에 걸쳐 저장합니다.이 명령어를 스케줄된 태스크로 실행하도록 설정하려면 다음 절차를 따릅니다.Launch Terminal from Applications :유틸리티 UNIX 쉘 프롬프트에서 다음 UNIX 명령을 입력합니다.
sudo crontab -e 비밀번호를 입력하라는 메시지가 나타나면 Mac OS X Administrator 비밀번호를 입력합니다.vi 에디터에서 키보드의 문자 I를 한 번 누르고 다음과 같이 입력합니다.
15 1 * * * root find / - name " 。DS_Store" - depth - exec rm {} \;
이것은 crontab 엔트리라고 불리며 형식은 다음과 같습니다.
Minute Hour Day Of Month Day Of Week 사용자 명령어.
crontab 엔트리는 root라는 계정으로 매일 오전 1시 15분에 시스템이 명령을 자동으로 실행함을 의미합니다.
이 명령어는 find 에서까지 모두 시작됩니다.시스템이 실행되지 않으면 이 명령어는 실행되지 않습니다.
항목을 저장하려면 Esc 키를 한 번 누른 다음 Shift + z+z를 동시에 누릅니다.
메모: 순서 4의 정보는 vi 에디터 전용입니다.
" " " ".DS_STORE
ㅇㅇㅇㅇㅇ에 더하면 돼요..gitignore
.gitignore 파일은 Git에게 프로젝트에서 무시해야 할 파일 또는 폴더를 알려주는 텍스트 파일입니다.
명령어
nano .gitignore
.DS_Store
다음 을 클릭합니다.CTRL+X > y > Hit Return
git status
으로 내용을git add .gitignore
git commit -m 'YOUR COMMIT MESSAGE'
git push origin master
작성 내용:
git checkout -- ../.DS_Store
(#파일에 대한 로컬 변경(영구적) 폐기) 및 정상적으로 동작했습니다!
위의 어떤 방법으로도 도움을 받지 못한 사용자는 .gitignore를 자세히 검사해 보십시오.디렉토리와 서브디렉토리 사이에 규칙이 조합되어 있는 경우가 있기 때문에,가 귀찮을 수 있습니다.DS_Store 파일은 이러한 폴더에서만 무시되지 않습니다.예를 들어 커스텀디렉토리에 있는 gensrc 폴더를 제외하고 무시하는 경우.gitignore는 다음과 같습니다.
.DS_Store
gensrc
!custom/**
이 설정에서는 any/path/가 사용됩니다.DS_Store가 무시되지만 custom/gensrc/는 무시되지 않습니다.DS_Store 및 수정 프로그램이 이동합니다.DS_Store 엔트리를 .gitignore 파일 하단에 저장합니다.
이 방법은 GitHub Desktop 앱을 사용할 때 사용할 수 있습니다.
언급URL : https://stackoverflow.com/questions/107701/how-can-i-remove-ds-store-files-from-a-git-repository
'programing' 카테고리의 다른 글
IBOutlet은 ARC에서 강해야 합니까, 약해야 합니까? (0) | 2023.04.09 |
---|---|
크래시 로그 Xcode는 어떻게 표시합니까? (0) | 2023.04.09 |
왜 애플은 ARC에서 싱글톤 패턴을 구현하기 위해 dispatch_once를 사용할 것을 권장합니까? (0) | 2023.04.09 |
Update 문에서 테이블 별칭을 사용하는 좋은 방법입니까? (0) | 2023.04.09 |
기본값 없이 null이 아닌 열을 추가할 수 있습니까? (0) | 2023.04.09 |