IT

자식 무시 예외

lottoking 2020. 3. 19. 08:29
반응형

자식 무시 예외


gitignore 파일이 있는데 gitignore 파일은 파일을 무시 *.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


!제외 규칙 앞에 추가 하면됩니다.

gitignore 매뉴얼 페이지 에 따르면 :

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

...

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


!foo.dll .gitignore 또는 (매번!) git add -f foo.dll


Visual Studio로 작업하고 .dll이 bin폴더에 있으면 .dll 파일에 대한 예외를 추가하기 전에 특정 bin 폴더 자체에 대한 예외를 추가해야합니다. 예 :

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

기본 Visual Studio .gitignore파일에 대한 무시 패턴이 포함되어 있기 때문 입니다.[Bbin]/

이 패턴은 모든 bin 폴더 (및 결과적으로 해당 내용)를 압축하여 내용을 중복하여 포함하려고 시도합니다 (폴더 자체가 이미 무시되었으므로).

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

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

Git Bash 창에서. 이것은 [Bbin]/패턴을 반환했습니다 .


해결책은 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

참고 URL : https://stackoverflow.com/questions/3203228/git-ignore-exception

반응형