programing

git 무시 예외

linuxpc 2023. 5. 26. 20:47
반응형

git 무시 예외

ignore git ignore git ignore ignore ignore .*.dll파일, 그리고 그것이 실제로 제가 원하는 행동입니다. 그나예즉, 커수를경우)를 수 foo.dll), 어떻게 하면 이를 달성할 수 있습니까?

사용:

*.dll    #Exclude all dlls
!foo.dll #Except for foo.dll

gitignore에서:

패턴을 무효화하는 선택적 접두사!. 이전 패턴에서 제외된 일치 파일이 다시 포함됩니다.음수 패턴이 일치하는 경우 우선 순위가 낮은 패턴 소스를 재정의합니다.

Git는 다음과 같이 쓸 경우 폴더를 무시합니다.

/js

하지만 다음과 같은 경우에는 예외를 추가할 수 없습니다.!/js/jquery또는!/js/jquery/또는!/js/jquery/*

다음을 기록해야 합니다.

/js/* 

그래야만 이런 하위 폴더를 제외할 수 있습니다.

!/js/jquery

간단히 할 수 있습니다.git add -f path/to/foo.dll.

.gitignore및 일적인파 무시합니다일과 같은 합니다.git add .

일부 하위 디렉터리를 제외한 디렉터리의 모든 항목을 제외하려면 다음을 수행합니다.

wp-content/*
!wp-content/plugins/
!wp-content/themes/

출처: https://gist.github.com/444295

그냥추를 추가하세요.!제외 규칙 앞에

gitignoreman 페이지에 따르면:

패턴의 형식은 다음과 같습니다.

...

  • 패턴을 무효화하는 선택적 접두사!. 이전 패턴에서 제외된 일치 파일이 다시 포함됩니다.음수 패턴이 일치하는 경우 우선 순위가 낮은 패턴 소스를 재정의합니다.

!foo.dll에 표시됩니다.gitignore 서또매는에번매)▁(!git add -f foo.dll

이 Visual Studio에 수.bin에 대한 폴더 에 대한 해야 합니다.vmdk 파일에 대한 예외를 추가하려면 먼저 특정 bin 폴더 자체에 대한 예외를 추가해야 합니다.예.

!SourceCode/Solution/Project/bin
!SourceCode/Solution/Project/bin/My.dll

Visual Studio 이는 Visual Studio 가.gitignore에 파에 무포패함에 대한 .[Bbin]/

이 패턴은 모든 bin 폴더(그리고 그 내용)를 재핑하므로 폴더 자체가 이미 무시되었기 때문에 내용을 중복하여 포함하려고 합니다.

파일을 실행하여 파일이 제외되지 않는 이유를 찾을 수 있었습니다.

git check-ignore -v -- SourceCode/Solution/Project/bin/My.dll

Git Bash 창에.은 이이반었니다습환되를 했습니다.[Bbin]/양식.

Nested Folders에 대해서Matiss의 답변을 바탕으로 해결책을 생각해냈습니다.

제가 모든 것을 무시하고 싶다고 가정해 보겠습니다.build/디터위리렉(치위)에 )/app 저는 합니다 그래서 나는.

build/*

제가 지만제싶, 가고다면하외를 하고 싶다면,build/outputs/bundle/release하위 폴더, 숨바꼭질을 해야 합니다!


/app/build/*
!/app/build/outputs
/app/build/outputs/*
!/app/build/outputs/bundle
/app/build/outputs/bundle/*
!/app/build/outputs/bundle/release

중요 참고 사항:

  • 는 모든경다로시합야니다작으로 ./그리고 상대적입니다..gitignore
  • 한 번에 하나의 하위 폴더를 수행해야 합니다.VS Code(예: VS Code)에서 모든 단계에 포함된 내용과 포함되지 않은 내용을 확인할 수 있습니다.

해결책은 git ignore 규칙과 예외 규칙 사이의 관계에 따라 달라집니다.

  1. 동일한 수준의 파일/파일: @Skilldrick 솔루션을 사용합니다.
  2. 폴더/하위 폴더: @Matiss Jurgelis 솔루션을 사용합니다.
  3. 다른 수준의 파일/파일 또는 파일/하위 폴더: 다음 작업을 수행할 수 있습니다.

    *.suo
    *.user
    *.userosscache
    *.sln.docstates
    
    # ...
    
    # Exceptions for entire subfolders
    !SetupFiles/elasticsearch-5.0.0/**/*
    !SetupFiles/filebeat-5.0.0-windows-x86_64/**/*
    
    # Exceptions for files in different levels
    !SetupFiles/kibana-5.0.0-windows-x86/**/*.suo
    !SetupFiles/logstash-5.0.0/**/*.suo
    

Git 2.7.0 Git부터는 예외를 고려합니다.공식 릴리스 노트:

  • 나중의 "!/abc/def"가 동일한 .gitignore 파일에 나타나는 이전의 "/abc"를 재정의하여 "/abc 디렉토리의 모든 것이 무시됩니다.

https://raw.githubusercontent.com/git/git/master/Documentation/RelNotes/2.7.0.txt

편집: 분명히 이것은 Git 2.8.0 이후로 더 이상 작동하지 않습니다.

디렉터리가 있고 일부 파일을 제외한 모든 파일을 무시하려는 경우(예:*.py파일), 다음 작업을 수행할 수 있습니다.

sub-dir/**/*.*
!sub-dir/**/*.py

각 디렉토리에 README.md 파일을 저장하는 방법은 다음과 같습니다.

/data/*
!/data/README.md

!/data/input/
/data/input/*
!/data/input/README.md

!/data/output/
/data/output/*
!/data/output/README.md

언급URL : https://stackoverflow.com/questions/3203228/git-ignore-exception

반응형