Computer >> 컴퓨터 >  >> 문제 해결 >> Windows 오류

수정:Gitignore가 작동하지 않음

GitHub는 코드 협업 및 리포지토리 공유 분야에서 선도적인 선구자로 부상했습니다. GitHub는 주로 사용자가 분산 버전 제어 및 SCM(소스 코드 관리)을 제어할 수 있는 버전 제어 소프트웨어입니다. 이 플랫폼은 전 세계의 주요 기업과 기업에서 사용하고 있습니다.

수정:Gitignore가 작동하지 않음

이와 같은 플랫폼에는 기술과 문제가 있습니다. 코더가 경험한 한 가지 특정 문제는 .gitignore가 GitHub에서 작동하지 않는다는 것이었습니다. 플랫폼은 .gitignore를 무시하거나 부분적으로 작동했습니다. 각각의 경우가 완전히 다른 시나리오이기 때문에 문제가 각각의 경우에 약간 다를 수 있다는 점에 주목하는 것이 흥미 롭습니다. 그러나 우리가 나열한 솔루션에는 보편적으로 작동하는 수정 사항이 포함되어 있습니다.

.gitignore란 무엇입니까?

Git(또는 GitHub)은 작업 디렉터리의 모든 파일을 봅니다. 각 파일을 다음 세 가지 중 하나로 특성화합니다.

  • 추적: 이러한 파일은 기록에서 이전에 커밋되거나 준비됩니다.
  • 추적되지 않음: 이전에 준비되거나 커밋되지 않은 파일입니다.
  • 무시됨: 이것은 사용자 자신이 Git에게 완전히 무시하도록 지시한 파일입니다.

이러한 무시된 파일은 시나리오마다 다를 수 있으며 대부분 시스템 생성 파일 또는 빌드 아티팩트입니다. 이것은 일반적인 관행입니다. 자신의 필요에 따라 다양한 다른 파일을 무시할 수 있습니다. 이러한 파일의 몇 가지 예는 다음과 같습니다.

  • 컴파일된 코드: 이러한 파일의 확장자는 일반적으로 .class, .pyc, .ccp 등입니다.
  • 숨겨진 시스템 파일: 시스템에서 작업을 위해 사용하지만 일반 보기에서는 숨겨져 있는 파일입니다(예:DS_Store 또는 Thumbs.db 등).
  • 출력 디렉토리 빌드: 이들은 대부분 /bin, /out 등의 디렉토리입니다.
  • 종속성 캐시: 이 파일은 /node 또는 /packages 모듈의 내용일 수 있습니다.
  • IDE 구성 파일: 이들은 대부분 IDE 소프트웨어에 의해 생성되거나 관리되는 구성 파일입니다.
  • 런타임에 생성된 파일: 런타임에 파일을 생성하는 프로그램이 있습니다. 이러한 코드 중 하나가 실행되면 런타임에 작업 폴더에 일부 파일이 생성될 수 있으며 Git에서는 무시할 수 있습니다.

무시하려는 파일은 주로 작업 저장소의 루트에서 확인되는 .gitignore라는 특수 파일에서 추적됩니다. 주제에 대한 GitHub의 공식 문서에 따르면 특정 gitignore 명령은 없습니다. 대신 무시하려는 파일을 수동으로 편집해야 합니다. .gitignore 파일에는 작업 저장소의 파일 이름과 일치하는 패턴이 포함되어 있으며 이는 특정 파일을 무시할지 여부를 결정하는 데 사용됩니다.

.gitignore가 작동하지 않는 이유는 무엇입니까?

.gitignore 기능은 완벽하게 작동하지만 제대로 구성하지 않았을 수 있습니다. 모든 설문조사에서 모듈이 실제로 작동하고 있다는 결론에 도달했습니다. 코더가 기능을 사용할 수 없는 이유는 대부분 파일을 제대로 구성하지 않았거나 기본 코드에서 충족되지 않는 몇 가지 조건이 있기 때문입니다.

다음은 귀하에게 도움이 될 수 있는 몇 가지 솔루션입니다. 각 솔루션은 귀하의 경우에 적용되지 않을 수 있으므로 초기 조건이 충족되지 않는 경우 다음 솔루션으로 전환해야 합니다.

해결책 1:.gitignore 파일 확인

.gitignore 파일이 잘못된 형식으로 생성되었다는 흥미로운 사례가 나왔습니다. 이 특정 문제는 사용자가 Windows OS에서 메모장의 기본 응용 프로그램을 사용하여 파일을 만들 때 발생했습니다. 메모장은 ANSI 형식 대신 유니코드로 파일을 작성합니다. 이 솔루션에서는 메모장의 변경 사항을 .gitignore의 올바른 형식으로 저장하고 문제가 해결되는지 확인합니다.

참고: 메모장을 사용하여 새 파일을 만들 때 파일에서 .txt의 확장자를 제거해야 합니다.

  1. 메모장에서 새 텍스트 문서의 코드나 변경 사항을 작성한 후 파일 을 클릭합니다. 다른 이름으로 저장을 선택합니다. .
수정:Gitignore가 작동하지 않음
  1. 이제 인코딩 앞 , ANSI 선택 . 이제 .txt의 파일 확장자를 제거하고 '.gitignore 이름으로 파일을 저장합니다. '. 올바른 디렉토리를 선택하고 저장하십시오.
수정:Gitignore가 작동하지 않음
  1. 이제 디렉토리로 이동하여 올바른 파일이 생성되었는지 확인합니다. 이제 Git으로 다시 테스트하고 무시 기능이 예상대로 작동하는지 확인하세요.

개발자는 Windows에서 기본 메모장을 사용하지 않아야 합니다. 대신 적절한 '프로그래머' 메모장을 사용해야 합니다. 몇 가지 예에는 메모장++ 등이 포함됩니다. 그런 경우에는 이와 같은 문제가 발생하지 않습니다.

참고: 파일이 이미 UNICODE 형식으로 저장되어 있는 경우 Git에서 파일을 제대로 감지하려면 내용을 ANSI 형식으로 올바르게 저장해야 합니다.

해결 방법 2:무시하려는 파일 확인

.gitignore가 작동하는 또 다른 조건은 파일이 아직 저장소의 일부가 아니어야 한다는 것입니다. . 이것은 마치 이것이 사실인 것처럼 매우 필수적인 측면이며, 파일이 이미 추가되어 무시되지 않습니다. 리포지토리로. Git은 .gitignore 파일에 이름이나 규칙을 넣어도 이를 무시할 수 없습니다. 따라서 본질적으로 Git은 추적되지 않은 파일만 무시합니다. .

구조(저장소)를 살펴보고 현재 무시하려는 파일이 저장소에 추가되지 않았는지 확인해야 합니다. 그렇다면 저장소에서 파일을 제거해야 하고 최신 변경 사항이 커밋된 후 파일 이름을 .gitignore에 추가해야 합니다(파일 내용을 복사하고 삭제한 후 다른 이름으로 복제할 수도 있습니다). .

해결책 3:저장소에 파일 다시 추가

.gitignore에 규칙을 이미 추가했지만 무시하려는 파일이 이미 추가된 경우 파일을 다시 추가할 수 있습니다. 추가는 Git 색인에서 모든 것을 제거한 다음 모든 것을 다시 저장소에 추가한다는 것을 의미합니다. 파일을 처음부터 다시 추가할 때 .gitignore에 추가한 규칙을 염두에 두고 올바른 파일만 추가합니다.

참고: 이 솔루션을 수행하기 전에 다른 곳에도 코드를 백업해야 합니다. 만일을 대비하여 항상 백업해두는 것이 좋습니다.

  1. 다음 명령어를 실행합니다. 이렇게 하면 재귀적 방식으로 git 인덱스에서 파일 경로가 해제되고 제거됩니다.
git rm -r --cached .
  1. 실행 후 다음 명령어를 실행해야 합니다. 이렇게 하면 모든 파일이 다시 추가되고 .gitignore에 규칙이 있으므로 올바른 파일만 업데이트됩니다.
git add .
  1. 이제 아래 코드를 사용하여 모든 파일을 인덱스에 다시 커밋합니다.
git commit -m ".gitignore is now working"

이제 파일을 검사하고 문제가 해결되었는지 확인하고 문제 없이 .gitignore를 다시 사용할 수 있습니다.