Windows에서 msysgit을 사용하여 Git의 디렉토리 또는 폴더를 어떻게 무시할 수 있습니까?
.gitkeep
)을 사용하여 보관해야하는 디렉토리를 나타 내기 때문에
/
이 자사의 디렉토리는 무시해야합니다 알고하는 무슨 말?
Windows에서 msysgit을 사용하여 Git의 디렉토리 또는 폴더를 어떻게 무시할 수 있습니까?
.gitkeep
)을 사용하여 보관해야하는 디렉토리를 나타 내기 때문에
/
이 자사의 디렉토리는 무시해야합니다 알고하는 무슨 말?
답변:
.gitignore
프로젝트 디렉토리에 이름이 지정된 파일을 작성하십시오 . 파일에 디렉토리 이름을 입력하여 디렉토리를 무시하십시오 (슬래시가 추가됨).
dir_to_ignore/
자세한 정보는 여기에 있습니다 .
.gitignore
실제로 파일 이름이 이면 Windows 탐색기가 표시 됩니다 .gitignore.txt
.
힘내 사용하지 않습니다 .gitignore.txt
.gitignore
Windows 탐색기는 파일 이름이없는 gitignore 유형의 파일이라고 생각하기 때문에 파일 이름을로 바꿀 수 없습니다 .
비 명령 줄 솔루션 :
파일 이름을 ".gitignore"로 바꿀 수 있습니다 . ".gitignore"를 만듭니다.
".gitignore"
확장명을 자동으로 추가하지 않고 파일 이름 을 저장합니다.
".gitignore."
-이건 대단해! 난 항상 문제가 있었다 .htaccess
...
파일과 디렉토리를 무시하는 데는 두 가지 주요 방법이 있습니다.
.gitignore
.gitignore
이외의 저장소 루트 에 파일 배치 .git
(Windows에서는 실제 파일 확장자가 표시 되는지 확인한 다음 .gitignore.
끝에 파일을 비워두면 비어 있음)~/.gitignore_global
실행git config --global core.excludesfile ~/.gitignore_global
참고 : 이전에 추적 한 파일은 다음을 실행하여 추적을 해제 할 수 있습니다. git rm --cached filename
리포지토리 제외 — 공유 할 필요가없는 로컬 파일의 경우 파일 패턴 또는 디렉토리를 파일에 추가하기 만하면됩니다 .git/info/exclude
. 이러한 규칙은 커밋 되지 않으므로 다른 사용자가 볼 수 없습니다 . 자세한 정보는 여기에 있습니다 .
무시 된 파일 목록에서 예외를 만들려면 이 질문을 참조하십시오 .
git rm --cached <filename>
. .gitignore
나는에서 파일 생성 몇 가지 문제가 있었다 Windows 탐색기 A의 .
시작 부분입니다.
해결 방법은 커맨드 쉘로 가서 "edit"를 사용하여 새 파일을 만드는 것입니다.
.
끝에 여분 을 추가하면 탐색기가 .gitignore
확장 기능 이라고 생각하지 않습니다 . 그런 다음 항목에없는 확장자를 가진 점을 후행하는 것은 단지 먹을 가져옵니다 당신이 남아 있습니다 .gitignore
TL; DR : 그 이름을 시도 .gitignore.
=> 당신은 끝낼.gitignore
Git에게 특정 파일이나 폴더를 무시하도록 지시하려면 파일을 만들어야 .gitignore
합니다.
그러나 Windows 탐색기에서는 파일 이름을 제공해야합니다. 확장자 만있는 파일은 만들 수 없습니다. 비결은 빈 텍스트 파일을 만들고 명령 프롬프트로 이동하여 파일 이름을 다음과 같이 변경하는 것입니다 .gitignore
.
ren "New Text Document.txt" .gitignore
이제 좋아하는 텍스트 편집기로 파일을 열고 무시하려는 파일 / 폴더 이름을 추가하십시오. 다음과 같이 와일드 카드를 사용할 수도 있습니다 *.txt
.
type nul > .gitignore
빈 파일을 만들려면
.gitignore.
Windows 탐색기에서 파일 확장자가 숨겨져 있지 않을 때 파일을 호출하십시오
폴더 안에 파일이 아닌 폴더를 유지하려면 "*"를 내용으로 폴더에 ".gitignore"파일을 넣으십시오. 이 파일은 Git이 저장소의 모든 내용을 무시하도록합니다. 그러나 .gitignore
저장소에 포함됩니다.
$ git add path/to/folder/.gitignore
빈 폴더를 추가하면이 메시지가 나타납니다 (.gitignore는 숨겨진 파일입니다)
The following paths are ignored by one of your .gitignore files:
path/to/folder/.gitignore
Use -f if you really want to add them.
fatal: no files added
따라서 "-f"를 사용하여 강제로 추가하십시오.
$ git add path/to/folder/.gitignore -f
또한 \.git\info
프로젝트 디렉토리에는 .gitignore
(제 생각에) 실제로 동일한 것과 같은 제외 파일이 있습니다. 무시할 파일과 디렉토리를 추가 할 수 있습니다.
하위 폴더를 제외해야하는 경우 **
와일드 카드를 사용하여 모든 수준의 하위 디렉토리를 제외 할 수 있습니다 .
**/build/output/Debug/
Git에서 전체 디렉토리를 무시하려면 가장 쉬운 방법은 단순히 "*"를 포함하는 대상 디렉토리에 .gitignore 파일을 포함시키는 것입니다.
예를 들어
예시 시스템
/root/
.gitignore
/dirA/
someFile1.txt
someFile2.txt
/dirB/
.gitignore
someFile3.txt
someFile4.txt
골
최상위 레벨 .gitignore (/root/.gitignore)
무시 된 디렉토리 .gitignore (/root/dirB.gitignore)
그리고 그것은 간단합니다 :)
때 다른 모든 실패 파일을 편집하려고
/.git/info/exclude
다음과 같이 파일 끝에 원하는 디렉토리를 추가하십시오.
# git ls-files --others --exclude-from=.git/info/exclude
# Lines that start with '#' are comments.
# For a project mostly in C, the following would be a good set of
# exclude patterns (uncomment them if you want to use them):
# *.[oa]
# *~
assets/
compiled/
무시할 파일 및 디렉토리 목록에 "자산"및 "컴파일"폴더를 추가했습니다.
유닉스에서 :
touch .gitignore
Windows에서 :
echo > .gitignore
터미널에서 실행되는 이러한 명령 .gitignore
은 현재 위치에 파일을 만듭니다 .
그런 다음 .gitignore
파일 또는 폴더를 무시해야 할 파일 (예 : 메모장 ++)을이 파일에 추가하십시오 . 변경 사항을 저장하십시오. 그게 다야 :)
추가 정보 : .gitignore
내용으로 ".gitignore"파일을 만들 수 있습니다.
*
!.gitignore
그것은 나를 위해 작동합니다.
문제는 작업 트리가 다음과 같다고 가정합니다.
a-cache/foo
a-cache/index.html
b-cache/bar
b-cache/foo
b-cache/index.html
.gitignore
... .gitignore
당신 과 함께 설명합니다. 이렇게하면 다음 git status
과 같은 출력 이 제공됩니다 .
$ git status
# On branch master
# Untracked files:
# (use "git add <file>..." to include in what will be committed)
#
# .gitignore
# a-cache/
# b-cache/
... 경우index.html
파일은 아직 저장소에 추가되지 않았습니다. Git은 캐시 디렉토리에 무시되지 않은 파일이 있지만 디렉토리 만보고합니다.이 문제를 해결하려면 index.html
파일을 추가하고 커밋했는지 확인하십시오 .
git add *cache/index.html
git commit -m "Adding index.html files to the cache directories"
... 그리고 당신의 git status
의지는 다음과 같습니다 :
$ git status
# On branch master
# Untracked files:
# (use "git add <file>..." to include in what will be committed)
#
# .gitignore
nothing added to commit but untracked files present (use "git add" to track)
(물론 당신도 커밋하고 싶습니다 .gitignore
. 나는이 테스트 케이스에 게으르고있었습니다.)
Windows 및 Mac에서 현재 디렉토리에서 Flower_Data_Folder라는 폴더를 무시하려면 다음을 수행하십시오.
echo Flower_Data_Folder >> .gitignore
파일 이름이 data.txt
다음과 같은 경우 :
echo data.txt >> .gitignore
"Data / passwords.txt"와 같은 경로 인 경우
echo "Data/passwords.txt" >> .gitignore.
비슷한 문제가있었습니다. Linux 사용자와 공유 저장소가있는 Windows 도구 체인에서 작업하고 주어진 폴더에 동일한 (사례 제외) 이름의 파일을 행복하게 만듭니다.
그 결과 리포지토리를 복제 할 수 있으며 체크인 한 경우 혼란 스러울 수있는 수십 개의 '수정 된'파일이 즉시 있습니다.
Windows는 대소 문자를 구분하고 Git은 대소 문자를 무시하지 않도록 설정했지만 여전히 실패합니다 (Win32 API 호출에서 분명히).
파일을 gitignore하면 .gitignore 파일을 추적하지 않아야합니다.
그러나 나는 여기에 좋은 대답을 찾았습니다.
http://archive.robwilkerson.org/2010/03/02/git-tip-ignore-changes-to-tracked-files/index.html