programing

여러 개의 .gitignore가 눈살을 찌푸리고 있습니까?

i4 2023. 5. 26. 20:44
반응형

여러 개의 .gitignore가 눈살을 찌푸리고 있습니까?

보고서가 여러 개의 독립적인 프로젝트로 구성되지 않은 경우, 하나만 가지고 있는 것이 가장 단순할 것으로 보입니다..gitignore보고서의 루트에 있는 파일을 여러 파일보다 더 많이 사용할 수 있습니다.한 가지 접근 방식이 다른 접근 방식보다 더 나은 경우에 대한 온라인 분석 또는 표준 모범 사례가 있습니까?

적어도 두 가지 상황을 생각해 볼 수 있어요 당신이 복수를 원할 경우 말이죠.gitignore다른(하위) 디렉터리에 있는 파일입니다.

  • 디렉터리마다 무시할 파일 유형이 다릅니다.예를 들어,.gitignore프로젝트의 상위 디렉터리에서 생성된 프로그램을 무시하는 동안Documentation/.gitignore생성된 설명서를 무시합니다.

  • 지정된 (하위) 디렉토리에서만 지정된 파일 무시(사용 가능)/sub/foo.gitignore그러나).

패턴에 '/'(예: 패턴)이 포함되지 않는 한 파일의 패턴은 파일이 있는 (하위) 디렉터리와 모든 하위 디렉터리에 재귀적으로 적용됩니다.name이름이 지정된 모든 파일에 적용됩니다.name주어진 디렉토리와 그 모든 하위 디렉토리에서, 반면에./name이 이름을 가진 파일에는 지정된 디렉토리에만 적용됩니다.

접선 노트로서, 다중을 가질 수 있는 능력이 있는 하나의 경우.gitignore파일은 작업 복사본에 절대 커밋하지 않을 추가 디렉터리를 원하는 경우에 매우 유용합니다.1바이트만 입력합니다..gitignore(아스터리스크 하나만 포함) 디렉토리에 있을 경우 해당 디렉토리에는 표시되지 않습니다.git status기타.

여러 개를 가질 수 있습니다..gitignore물론 각자의 디렉토리에 있습니다.
파일을 무시하는 원인이 되는 gitignore 규칙을 확인하려면 다음을 사용합니다.git check-ignore -v -- afile.

그리고 다른 버전의 소프트웨어를 사용할 수 있습니다..gitignore분기당 파일 수: 한 분기는 파일을 무시하고 다른 분기는 무시하지 않도록 하기 위한 구성을 이미 보았습니다. 예를 들어질문을 참조하십시오.

레포에 여러 개의 독립 프로젝트가 포함되어 있는 경우에는 하위 모듈로 참조하는 것이 가장 좋습니다.
이는 각 프로젝트를 개별적으로 복제할 수 있도록 지원하는 실제 모범 사례입니다)..gitignore파일), 글로벌 상위 프로젝트의 특정 리비전에 의해 참조되는 동안.
자세한 내용은 하위 모듈의 실제 특성을 참조하십시오.


git 1.8.2 (2013년 3월) 이후로 어떤 git를 무시하고 실행하는지 확인하기 위해 a를 수행할 수 있습니다..gitignore은 'file'에됩니다.yourfile그리고 왜 그 파일이 무시되는지 더 잘 이해할 수 있습니다.
"내 파일을 무시하는 규칙"을 참조하십시오.

프로 싱글

  • 찾기 쉽습니다.

  • 보고서의 여러 수준에서 여러 Gitignore가 있는 경우 제외 규칙을 찾는 것은 매우 어려울 수 있습니다.

  • 여러 개의 파일을 사용하면 일반적으로 상당한 양의 중복이 발생합니다.

프로승수

  • 파일 트리에서 필요한 부분으로 "지식" 범위를 지정합니다.

  • Git는 파일만 추적하므로 빈 .gitignore가 "빈" 디렉터리를 커밋하는 유일한 방법입니다.

    (그리고 Git 1.8 이전에는 다음과 같은 패턴을 제외할 수 있는 유일한 방법은my/**.example만드는 것이었습니다.my/.gitignore라는 **.foo이유는 지금은. 이 할 수 , 이는 지금 적용되지 않습니다./my/**/*.example.)


저는 모든 제외사항을 찾을 수 있는 단일 파일을 훨씬 선호합니다.디렉터리별 .svn을 놓친 적이 없으며 디렉터리별 .gitignore도 놓치지 않을 것입니다.

그렇긴 하지만, 다수의 기트무어들은 꽤 흔합니다.사용하는 경우에는 최소한 사용 방법을 일관되게 유지하여 작업하기에 합리적인 방법을 참조하십시오.예를 들어 루트에서 한 수준만 디렉터리에 배치할 수 있습니다.

. 를 들어 Gitrepo에는 디렉터리가 없습니다. 예를 들어,logs,cache,uploads디렉터리 등

그래서 제가 항상 하는 일은 추가하는 것입니다..gitignore다음 내용을 포함하는 디렉터리에 파일을 저장합니다.

# this directory is intentionally ignored
/*
!/.gitignore

와함께로..gitignorefile,는 이러한 입니다. , Git는 ▁the▁file▁to▁meies▁다▁yet▁add파▁g일▁in▁g있니를 추가할 수 있습니다..gitignore디렉토리 자체를 repo에 저장합니다.

의 다른 사용 .gitignore는 단일 해야 할 이 각 에 더 할 수 ..gitignore각 프로젝트로 연결됩니다.

예: 우리는 다음을 기반으로 한 모노레포를 가지고 있습니다.nx시스템을 구축합니다.그 안에 우리는 있습니다.tools폴더에는 다양한 유틸리티가 포함되어 있으며, 그 중 일부는 자체적으로 소규모 독립 프로젝트입니다.도구에 한 것으로 .package.json예를 들어) 또한 별도로 있습니다..gitignore유지보수가 더 쉽고 개발자들이 무슨 일이 일어나고 있는지 쉽게 알 수 있습니다.

언급URL : https://stackoverflow.com/questions/3305869/are-multiple-gitignores-frowned-on

반응형