.gitignore를 사용하지 않고 Git이 파일을 무시하도록 만드는 방법은 무엇입니까?
외부의 이상한 제약으로 인해 수정할 수 없습니다..gitignore내 저장소의.파일 및 디렉터리를 무시할 수 있는 방법이 있습니까?.gitignore내 모든 저장소에 적용될 글로벌 구성과 같은 글로벌 솔루션일지라도.
수정할 수 있는 경우.git/info/exclude당신은 거기에 같은 규칙을 둘 수 있습니다.하지만 해당 파일은 로컬 저장소에만 있습니다.
Gitignore에 따르면 Git가 고려하는 다양한 "무시 패턴 소스"에 우선 순위가 있다는 것을 잊지 마십시오.
- 패턴을 지원하는 명령에 대해 명령줄에서 읽은 패턴입니다.
- 경로와 동일한 디렉토리 또는 상위 디렉토리의 .gitignore 파일에서 읽은 패턴으로, 상위 레벨 파일(루트까지)의 패턴은 하위 레벨 파일의 패턴에 의해 파일이 포함된 디렉토리까지 재정의됩니다.
- 패턴 읽기 위치
$GIT_DIR/info/exclude. - 구성 변수에 의해 지정된 파일에서 읽은 패턴
core.excludesfile.
마지막 두 가지는 문제의 해결책이 될 수 있지만 다음과 같습니다.
- 원격 리포지토리에 대해 복제되지 않습니다.
- 다른 소스에 의해 패턴이 무시될 수 있습니다.
(이 SO 질문 참조)
다른 두 가지 솔루션에는 인덱스()git update-index 업데이트가 포함됩니다.
git update-index --assume-unchanged"Git: 로컬 repo에서만 파일 추적을 해제하고 원격 repo에 보관"을 참조하십시오.
Elija Lynn이 댓글로 언급했습니다.- 폴더 내용인
git update-index --assume-unchanged"on directory"도 무시할 수 있습니다. - 사용하다
--no-assume-unchange효과를 반전시키는 방법:"현재 에 의해 보호되는 파일을 사용할 수 있습니까?"를 참조하십시오.
- 폴더 내용인
그러나, 당신이 다른 지점을 체크아웃할 때 또는 당신이git pull상태가 재설정될 수 있습니다.따라서 다른 옵션은 다음과 같습니다.
git update-index --skip-worktree참조:- "파일에서 변경사항을 삭제하지만 원격 담당자로부터 삭제하지 않음" 및
- "지점 체크아웃 간에 변경되지 않은 파일로 git 유지"
둘 사이의 차이는 "Git - Difference assume-unchangedBetween"과 "skip-worktreeDifference Between"에 설명되어 있습니다.
GIT에 무시할 파일을 알려주는 세 가지 방법이 있습니다.
.gitignore파일$GIT_DIR/.git/info/exclude- 를 통해 가리키는 파일
core.excludesfile세팅
후자의 두 가지 점이 당신의 문제를 해결할 수 있습니다.
자세한 내용은 gitignore(5)를 참조하십시오.
저도 비슷한 상황에 처했기 때문에 언급되지 않은 제가 선호하는 솔루션을 추가합니다.의 git update-index --assume-unchanged이 경우 추적되지 않은 파일에 대해 이 작업을 수행할 수 없습니다.당신은 말했다.
저장소의 .gitignore를 수정할 수 없습니다.
당신이 말하는 것은 당신이 어떤 변화도 추진할 수 없다는 것을 가정할 것입니다..gitignore이 할 수 있는 것은 되지 않은 의 로컬에 하는 것입니다..gitignore그럼 하시오git update-index --assume-unchanged .gitignore이 변위해을경의로▁to로 ..gitignore절대 밀리지 않습니다.이제 추적되지 않은 파일을 무시하고 원격에 영향을 주지 않습니다..gitignorejava.
파일에 사항 : 추된파 로변 경사항 무시컬한대:git update-index --assume-unchanged my-file.php
파일에 사항 : 추적된 로컬 변경무 시한대:git update-index --no-assume-unchanged my-file.php
출처:git help update-index
--[no-]assume-unchanged
...
This option can be also used as a coarse file-level mechanism to ignore uncommitted changes in tracked
files (akin to what .gitignore does for untracked files). Git will fail (gracefully) in case it needs to
modify this file in the index e.g. when merging in a commit; thus, in case the assumed-untracked file is
changed upstream, you will need to handle the situation manually.
다른 방법:
- 편집
.gitignore - 그리고나서
git update-index --assume-unchanged .gitignore
이 있고 하위 가 유동적인을 일부로파저저하위디유위치리다경수있파저니습장할에 넣으면 .tracked_dir1/tracked_dir2/untracked_dir/그런 다음 a를 추가합니다.tracked_dir1/tracked_dir2/untracked_dir/.gitignore다음과 같은 내용으로:
*
예.
$ cat > tracked_dir1/tracked_dir2/untracked_dir/.gitignore
*
<Ctrl+D>
https://help.github.com/articles/ignoring-files/ #create-a-global-gitignore 프로젝트의 방법을 수정하는 대신 global gitignore 방법을 사용할 수 있습니다.
정.git/info/exclude 또는 를 사용하는 것은저에게 .vim emacs는 emacs를 사용합니다.
그러나 @Desko27 코멘트에 주목하여 이미 Git에 의해 추적되고 있는 파일을 무시하려면 이 접근 방식은 작동하지 않습니다.
따라서 파일을 추적하기 전에 파일을 초기에 무시합니다.
언급URL : https://stackoverflow.com/questions/653454/how-do-you-make-git-ignore-files-without-using-gitignore
'codememo' 카테고리의 다른 글
| 커서를 반환하는 Oracle 저장 프로시저와 함께 Dapper 사용 (0) | 2023.07.07 |
|---|---|
| AuthorizationServerConfigurerAdapter가 더 이상 사용되지 않습니다. (0) | 2023.07.07 |
| SELECT 파트에서 클라이언트로 돌아가지 않고 카운트에만 MySQL 변수 사용 (0) | 2023.07.07 |
| 열 최대 값 길이가 아닌 열 값 길이 가져오기 (0) | 2023.07.07 |
| SQL Server의 T-SQL STOP 또는 ABROT 명령 (0) | 2023.07.07 |