gitignore를 사용하지 않고 Git이 파일을 무시하도록하려면 어떻게해야합니까?
외부 이상한 제약으로 인해 .gitignore
내 저장소를 수정할 수 없습니다 . 수정 이외의 파일과 디렉토리를 무시하는 방법이 .gitignore
있습니까? 글로벌 구성과 같은 글로벌 솔루션이라도 모든 리포지토리에 적용됩니다.
gitignore 에 따르면 Git이 고려하는 다른 "무시 패턴 소스"에는 우선 순위가 있다는 것을 잊지 마십시오 .
- 패턴을 지원하는 명령에 대해서는 명령 행에서 패턴을 읽습니다.
- 경로와 동일한 디렉토리 또는 상위 디렉토리의 .gitignore 파일에서 패턴을 읽습니다. 상위 레벨 파일 (루트까지)의 패턴이 파일을 포함하는 디렉토리까지 하위 레벨 파일의 패턴으로 대체됩니다.
- 패턴에서 읽을
$GIT_DIR/info/exclude
. - 구성 변수에 의해 지정된 파일에서 패턴을 읽습니다
core.excludesfile
.
마지막 두 가지는 문제에 대한 해결책이 될 수 있지만 다음과 같습니다.
- 그들은 멀리 떨어진 저장소에 복제되지 않습니다
- 다른 소스로 패턴을 재정의 할 수 있습니다.
(이 SO 질문 도 참조하십시오 )
다른 두 가지 솔루션에는 색인 업데이트 ( git update-index
)가 포함됩니다.
git update-index --assume-unchanged
: " Git : 로컬 저장소에서만 파일을 추적 해제하고 원격 저장소에 보관 하십시오"를 참조하십시오 . 엘리야 린 (Elijah Lynn) 은 그 의견 에
언급되어있다 .- "
git update-index --assume-unchanged
디렉토리의 " 폴더 내용을 무시할 수도 있습니다 . --no-assume-unchange
효과를 되돌리려면 사용 하십시오. " 현재 ?로 보호 된 파일 이 가능 합니까?git add
assume-unchanged
"를 참조하십시오.
- "
그러나 다른 지점을 체크 아웃하거나을 방문하면 git pull
"무시"상태가 재설정 될 수 있습니다. 따라서 다른 옵션은 다음과 같습니다.
git update-index --skip-worktree
; 보다:
이 둘의 차이점은 " Git-차이점 ' assume-unchanged
'과 ' skip-worktree
' "에 설명되어 있습니다.
수정 .git/info/exclude
이 가능한 경우 동일한 규칙을 적용 할 수 있습니다. 그러나 해당 파일은 로컬 리포지토리에만 있습니다.
무시할 파일을 GIT에 알리는 세 가지 방법이 있습니다.
- .gitignore 파일
- $ GIT_DIR / .git / info / exclude
core.excludesfile
설정 을 통해 지정된 파일
후자의 두 점은 문제를 해결할 수 있습니다.
자세한 내용은 gitignore (5)를 참조하십시오 .
저장소에 로컬 파일이 있고 하위 디렉토리 위치가 융통성이있는 경우 파일을 tracked_dir1/tracked_dir2/untracked_dir/
넣은 후 다음 tracked_dir1/tracked_dir2/untracked_dir/.gitignore
과 같은 내용 으로 with 를 추가 할 수 있습니다 .
*
즉
$ cat > tracked_dir1/tracked_dir2/untracked_dir/.gitignore
*
<Ctrl+D>
비슷한 상황에 있었으므로 언급하지 않은 선호하는 솔루션을 추가하고 있습니다. git update-index --assume-unchanged
이 경우 문제 는 추적되지 않은 파일에 대해서는 그렇게 할 수 없다는 것입니다. 당신은 말했다
저장소의 .gitignore를 수정할 수 없습니다.
변경 사항 .gitignore
을 원점으로 푸시 할 수 없다는 것을 의미한다고 가정하겠습니다 . 즉 로컬에 비 추적 파일을 추가한다 할 수있는 경우라면 .gitignore
, 다음 할 git update-index --assume-unchanged .gitignore
로 변화되도록 .gitignore
밀어되지 않습니다. 이제 추적되지 않은 파일을 무시하고 원격 .gitignore
파일에 영향을 미치지 않습니다 .
추적 된 파일의 로컬 변경 사항을 무시하십시오. 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
https://help.github.com/articles/ignoring-files/#create-a-global-gitignore 프로젝트에서 메소드를 수정하는 대신 글로벌 gitignore 메소드를 사용할 수 있습니다
참고 URL : https://stackoverflow.com/questions/653454/how-do-you-make-git-ignore-files-without-using-gitignore
'Programing' 카테고리의 다른 글
이미지의 툴팁 (0) | 2020.07.19 |
---|---|
프록시를 통해 Maven을 어떻게 사용합니까? (0) | 2020.07.19 |
찾기 대 find_by 대 어디 (0) | 2020.07.19 |
Scipy (Python)를 사용하여 이론적 분포에 경험적 분포를 맞추고 있습니까? (0) | 2020.07.19 |
Laravel-5 'LIKE'동등 (Eloquent) (0) | 2020.07.19 |