programing

git 저장소에서 .pyc 파일 무시

powerit 2023. 7. 17. 21:30
반응형

git 저장소에서 .pyc 파일 무시

어떻게 무시할 수 있습니까?.pyc파일 git?

넣으면, 넣으면, 넣으면은..gitignore동작되지 않습니다.저는 그들이 커밋을 확인하지 않고 추적을 해제해야 합니다.

다음 행을 추가해야 합니다.

*.pyc 

에게.gitignore저장소 초기화 직후 Git 저장소 트리의 루트 폴더에 있는 파일입니다.

랄프테닌자가 말했듯이, 만약 당신이 사전에 그것을 하는 것을 잊었다면, 당신이 단지 라인을 추가한다면..gitignore파일, 모두 이전에 커밋됨.pyc파일은 계속 추적되므로 저장소에서 제거해야 합니다.

Linux 시스템(또는 MacOSX와 같은 "부모 & 아들")에 있는 경우 저장소의 루트에서 실행해야 하는 다음 한 줄 명령만으로 빠르게 실행할 수 있습니다.

find . -name "*.pyc" -exec git rm -f "{}" \;

이것은 단지 다음을 의미합니다.

현재 있는 디렉토리에서 시작하여 이름이 확장자로 끝나는 모든 파일 찾기.pyc파일 이름을 명령에 전달합니다.git rm -f

끝나고*.pycGit에서 추적된 파일로 파일을 삭제하고, 이 변경 사항을 저장소에 커밋한 다음, 최종적으로 추가할 수 있습니다.*.pyc에 줄을 대다..gitignore파일.

(http://yuji.wordpress.com/2010/10/29/git-remove-all-pyc/) 참조)

저장하기 전에 저장소에 추가했을 수 있습니다.*.pyc.gitignore.
먼저 리포지토리에서 제거합니다.

넣어봐..gitignore하지만 그 때부터.gitignore(5)맨 페이지:

  ·   If the pattern does not contain a slash /, git treats it as a shell
       glob pattern and checks for a match against the pathname relative
       to the location of the .gitignore file (relative to the toplevel of
       the work tree if not from a .gitignore file).

  ·   Otherwise, git treats the pattern as a shell glob suitable for
       consumption by fnmatch(3) with the FNM_PATHNAME flag: wildcards in
       the pattern will not match a / in the pathname. For example,
       "Documentation/*.html" matches "Documentation/git.html" but not
       "Documentation/ppc/ppc.html" or
       "tools/perf/Documentation/perf.html".

따라서 적절한 경로를 지정하거나*.pyc입력 또는 입력.gitignore저장소 루트에서 시작하는 모든 디렉터리에 있는 파일(예: 파일).

전체적으로 '.pyc' 파일을 무시하려면(즉, 모든 git 디렉토리의 .gitignore 파일에 줄을 추가하지 않으려면) 다음을 시도하십시오.

$ cat ~/.gitconfig 
[core]
    excludesFile = ~/.gitignore
$ cat ~/.gitignore
**/*.pyc

[참조]
https://git-scm.com/docs/gitignore

  • 사용자가 모든 상황에서 Git가 무시하기를 원하는 패턴(예: 선택한 사용자의 편집자가 생성한 백업 또는 임시 파일)은 일반적으로 core.exclude로 지정된 파일로 들어갑니다.사용자의 ~/.gitconfig에 있는 파일입니다.

  • 선행 "**" 뒤에 슬래시가 있으면 모든 디렉토리에서 일치한다는 의미입니다.예를 들어 "**/foo"는 패턴 "foo"와 동일한 파일 또는 디렉토리 "foo"와 일치합니다."**/foo/bar"는 "foo" 디렉토리 바로 아래에 있는 파일 또는 디렉토리 "bar"와 일치합니다.

저는 이전 게시물의 문장을 사용하려고 시도하고 재귀적으로 작업하지 않습니다. 그리고 나서 도움말을 읽고 다음 행을 얻습니다.

find . -name "*.pyc" -exec git rm -f "{}" \;

git를 깨끗하게 유지하기 위해 .gitignore 파일에 *.pyc를 추가하려면 p.d.

echo "*.pyc" >> .gitignore

즐거운 시간 되세요.

만약 당신이 레포에서 헌신했다면, 그냥.

  1. 로 합니다./__pycache__,
  2. 모두 삭제합니다(걱정마세요, 임시 파일이며 반복적으로 생성됩니다)
  3. 'update gitignore'와 같은 새 커밋이 있습니다.
  4. 완료되었습니다! 다시는 나타나지 않습니다.

@Enrico의 답변에 감사드립니다.

몇 가지 virtualenv가 됩니다..pyc현재 위치한 디렉터리에 있는 파일을 찾습니다. 이 파일은 그의 찾기 명령에 따라 캡처됩니다.

예:

./app.pyc
./lib/python2.7/_weakrefset.pyc
./lib/python2.7/abc.pyc
./lib/python2.7/codecs.pyc
./lib/python2.7/copy_reg.pyc
./lib/python2.7/site-packages/alembic/__init__.pyc
./lib/python2.7/site-packages/alembic/autogenerate/__init__.pyc
./lib/python2.7/site-packages/alembic/autogenerate/api.pyc

모든 파일을 제거하는 것은 해롭지 않다고 생각합니다만, 만약 당신이 파일을 제거하고 싶다면..pyc디렉토리에 .

find "*.pyc" -exec git rm -f "{}" \;

이렇게 하면 다음 항목만 제거됩니다.app.pyc.git 파일입니다.

언급URL : https://stackoverflow.com/questions/5551269/ignore-pyc-files-in-git-repository

반응형