Git의 .classpath 및 .project 무시
저는 저와 다른 사람들에게 .classpath와 .project 파일을 커밋하지 말고 Maven을 사용하라고 말하고 있습니다.
어떻게든 주니어 개발자들은 항상 특정 규칙을 무시하고 해당 파일을 커밋하며, 코드를 사용할 수 있는 초보자들을 위해 이러한 파일을 보유하는 것이 훨씬 좋습니다.
이제 제 입장에서 뭔가를 해보고 싶습니다.repo를 복제하면 .classpath 및 .project 파일이 생성되고 시스템에서 수정됩니다.
하지만 저는 그들이 커밋되지 않기를 원하며 Git과 동기화하는 동안 항상 무시되어야 합니다.로컬 시스템의 변경 사항이 해당 파일의 Git 및 Git 변경 사항과 함께 사용되지 않도록 로컬 파일이 손상되지 않습니다.
어떻게 이를 달성할 수 있습니까?그런 식으로 파일을 무시하도록 표시하려면 어떻게 해야 합니까?
만약에.project
그리고..classpath
이미 커밋된 경우 인덱스에서 제거해야 합니다(디스크는 제외).
git rm --cached .project
git rm --cached .classpath
그러면 그..gitignore
(클론을 통해 파일을 추가하고 공유할 수 있습니다.)
예를 들어, 이 파일은 다음을 포함하여 작동합니다.
# Eclipse Core
.project
# JDT-specific (Eclipse Java Development Tools)
.classpath
복제 시 "템플릿 디렉토리"를 사용할 수 있습니다(사용자에게 환경 변수가 있는지 확인).$GIT_TEMPLATE_DIR
모든 사용자가 액세스할 수 있는 공유 폴더로 설정).
이 템플릿 폴더에는 모든 사용자가 사용하는 새 리포지토리()git init
를 포함하여 모든 리포지토리에 적용할 무시 규칙이 포함된 파일이 포함될 수 있습니다.
인덱스를 변경할 때 변경 내용을 커밋하고 푸시해야 합니다.
그런 다음 파일이 리포지토리에서 제거됩니다.그래서 신입들은 파일을 확인할 수 없습니다..classpath
그리고..project
레포에서
.gitignore에서 아래 행을 추가하고 프로젝트 폴더 안에 파일을 넣습니다.
/target/
/.classpath
/*.project
/.settings
/*.springBeans
이러한 시나리오에 대한 Git 솔루션은 SKIP-WORKTREE BIT를 설정하는 것입니다.다음 명령만 실행합니다.
git update-index --skip-worktree .classpath .gitignore
git에 의해 이미 관리되고 인덱스에 존재하는 파일의 변경 사항을 무시하도록 git을 원할 때 사용됩니다.이는 구성 파일의 일반적인 사용 사례입니다.
입니다.git rm --cached
질문에 언급된 시나리오에서는 작동하지 않습니다.질문을 단순화하면 다음과 같습니다.
가지는 방법
.classpath
그리고..project
각 사람이 로컬로 변경할 수 있고 Git이 이 변경을 무시하는 동안 레포에서?
인정된 답변 했듯이, 제가수답아변언래급이듯, 은점단했의 은 락된▁as입니다.git rm --cached
즉, 인덱스가 변경되므로 변경 내용을 커밋한 다음 원격 저장소로 푸시해야 합니다. 적으로결과로..classpath
그리고..project
PO가 레포를 처음 복제하는 사람이라면 누구나 사용할 수 있도록 그들이 그곳에 있기를 원하는 동안 레포에서 사용할 수 없습니다.
SKIP-WORKTREE BIT란 무엇입니까?
Git 문서를 기반으로 함:
작업 트리 건너뛰기 비트는 하나의 (긴) 문장으로 정의할 수 있습니다.항목을 읽을 때 작업 건너뛰기 트리로 표시된 경우 Git는 작업 디렉터리 버전이 최신인 것처럼 가장하고 대신 인덱스 버전을 읽습니다.이 비트는 변경되지 않은 가정 비트와 유사하지만 목표는 변경되지 않은 가정 비트와 다릅니다.또한 작업 건너뛰기 트리는 둘 다 설정된 경우 변경되지 않은 비트를 가정하는 것보다 우선합니다.
자세한 내용은 여기에서 확인할 수 있습니다.
.gitignore 파일을 사용합니다.이렇게 하면 특정 파일을 무시할 수 있습니다.http://git-scm.com/docs/gitignore
다음은 클래스 경로 및 프로젝트 파일을 처리하는 Eclipse의 예입니다. https://github.com/github/gitignore/blob/master/Global/Eclipse.gitignore
언급URL : https://stackoverflow.com/questions/18955149/ignore-classpath-and-project-from-git
'programing' 카테고리의 다른 글
등호(=) 대맘에 들다 (0) | 2023.04.27 |
---|---|
zure의 윈도우 서비스와 동등한 것은 무엇입니까? (0) | 2023.04.27 |
Unix 콘솔 또는 Mac 터미널에서 셸 스크립트를 실행하는 방법은 무엇입니까? (0) | 2023.04.27 |
Visual Studio 2013 솔루션 빌드가 빌드 순서가 아님 (0) | 2023.04.27 |
grep에서 별표 사용 (0) | 2023.04.27 |