파일이있는 저장소가 Hello.java
있습니다. 컴파일하면 추가 Hello.class
파일이 생성됩니다.
나는에 대한 항목이 생성 Hello.class
A의 .gitignore
파일을. 그러나 파일은 여전히 추적되어 나타납니다.
힘내 무시할 수 Hello.class
있습니까?
파일이있는 저장소가 Hello.java
있습니다. 컴파일하면 추가 Hello.class
파일이 생성됩니다.
나는에 대한 항목이 생성 Hello.class
A의 .gitignore
파일을. 그러나 파일은 여전히 추적되어 나타납니다.
힘내 무시할 수 Hello.class
있습니까?
답변:
문제는 .gitignore
이전에 (by git add
) 추적하지 않은 파일 만 무시한다는 것 입니다. git reset name_of_file
파일의 스테이지를 해제하고 유지하려면 실행하십시오 . 주어진 파일을 리포지토리에서 제거하려면 (푸시 후)를 사용하십시오 git rm --cached name_of_file
.
git rm --cached name_of_file
은 git repo에서 파일을 제거합니다. .gitignore 파일에 추가하더라도. 그것은 삭제하는 것을 무시하지 않습니다.
git reset name_of_file
추적을 제거하고 파일을 삭제하지 않습니다.
새 파일을 무시하는 방법
전 세계적으로
파일에 무시할 경로를 .gitignore
파일에 추가하고 커밋 하십시오 . 이 파일 항목은 리포지토리를 체크 아웃하는 다른 사람에게도 적용됩니다.
토지 상에서
파일에 무시하려는 경로를 .git/info/exclude
파일에 추가하십시오. 이 파일 항목은 로컬 작업 복사본에만 적용됩니다.
변경된 파일을 무시하는 방법 (일시적으로)
변경된 파일이 수정 된 것으로 표시되는 것을 무시하기 위해 다음 git 명령을 사용할 수 있습니다.
git update-index --assume-unchanged <file>
이 무지를 되돌리려면 다음 명령을 사용하십시오.
git update-index --no-assume-unchanged <file>
local
git ignore에 대해 언급 한 단계를 수행 하고 시스템을 다시 시작 했는데 여전히 직접 작업하는 것으로 표시됩니다.
update-index
트릭에 감사합니다. .gitignore
파일 변경을 피하기 위해 절대적으로 완벽 하며 Git에서 추적합니다!
gitignore에 다음 줄을 추가하십시오.
/Hello.class
이것은 git에서 Hello.class를 제외시킵니다. 이미 커밋 한 경우 다음 명령을 실행하십시오.
git rm Hello.class
git에서 모든 클래스 파일을 제외하려면 .gitignore에 다음 줄을 추가하십시오.
*.class
Hello.class
하려면 .gitignore
라는 모든 파일 무시 Hello.class
어떤 하위 디렉토리에 있습니다. 파일 Hello.class
과 동일한 디렉토리에 있는 파일 만 무시하려면 대신 .gitignore
한 /Hello.class
줄을 사용하십시오.
.gitignore
파일을 어디에 넣 습니까?
.gitignore
git 프로젝트의 어느 곳에 나 넣을 수 있습니다 -경로가로 시작 /
하면 .gitignore
파일 의 위치와 관련이 있습니다. 그렇지 않으면 현재 디렉토리와 그 하위 디렉토리의 파일을 재귀 적으로 참조합니다.
1) .gitignore
파일을 작성 하십시오. 이렇게하려면 .txt
파일을 만들고 확장자를 다음과 같이 변경하면됩니다.
그런 다음 cmd 창에 다음 줄을 작성하여 이름을 변경해야합니다.
rename git.txt .gitignore
git.txt
방금 만든 파일의 이름은 어디에 있습니까 ?
그런 다음 파일을 열고 리포지토리에 추가하지 않으려는 모든 파일을 쓸 수 있습니다. 예를 들어, 다음과 같습니다.
#OS junk files
[Tt]humbs.db
*.DS_Store
#Visual Studio files
*.[Oo]bj
*.user
*.aps
*.pch
*.vspscc
*.vssscc
*_i.c
*_p.c
*.ncb
*.suo
*.tlb
*.tlh
*.bak
*.[Cc]ache
*.ilk
*.log
*.lib
*.sbr
*.sdf
*.pyc
*.xml
ipch/
obj/
[Bb]in
[Dd]ebug*/
[Rr]elease*/
Ankh.NoLoad
#Tooling
_ReSharper*/
*.resharper
[Tt]est[Rr]esult*
#Project files
[Bb]uild/
#Subversion files
.svn
# Office Temp Files
~$*
이 작업이 끝나면 Git 리포지토리에 추가해야합니다. 저장소가있는 파일을 저장해야합니다.
그런 다음 Git Bash에서 다음 줄을 작성해야합니다.
git config --global core.excludesfile ~/.gitignore_global
저장소가 이미 존재하면 다음을 수행해야합니다.
git rm -r --cached .
git add .
git commit -m ".gitignore is now working"
2 단계가 작동하지 않으면 추가 할 파일의 전체 경로를 작성해야합니다.
무시하려면 :
git update-index --assume-unchanged <path/to/file>
무시를 취소하려면
git update-index --no-assume-unchanged <path/to/file>
추적 된 파일에서 변경 사항을 무시 / 무시하는 데 아래 방법을 사용할 수 있습니다.
git update-index --assume-unchanged <file>
git update-index --no-assume-unchanged <file>
.gitignore
.git이있는 디렉토리에를 작성하십시오 . 줄 바꿈으로 구분하여 파일을 나열 할 수 있습니다. 와일드 카드를 사용할 수도 있습니다.
*.o
.*.swp
.gitignore
파일에 넣지 않는 것이 좋습니다 (도구가 프로젝트에서 명령하지 않는 한). 사용자 별 제외 파일에 즐겨 사용하는 도구에 대한 패턴을 넣을 수 있습니다 (set core.excludesFile
). 그들은 모든 저장소에서 작동합니다. 예를 들어 git config --global core.excludesFile "$HOME/.git-user-excludes"
, 해당 파일에 넣습니다.
당신은 같은 것을 작성해야합니다
*.class
당신에 .gitignore
파일.
*.class
을 추가해야합니다 . .gitignore
.class
.gitignore 파일을 만듭니다. 자세한 내용은 여기를 참조하십시오 : Git Book-파일 무시
또한 이것을 확인하십시오 : .gitignore를 사용하지 않고 Git이 파일을 어떻게 무시하게합니까?
.gitignore 대신 .gitattributes를 사용하여 전체 파일 형식을 제외 할 수도 있습니다. 파일은 설명이 필요 없지만 여기에 내용을 붙여 넣었습니다. 마지막 줄 (* .class binary)에주의하십시오.
# Denote all files that are truly binary and should not be modified.
*.png binary
*.jpg binary
*.gif binary
*.ico binary
*.mo binary
*.pdf binary
*.phar binary
*.class binary
.git / info / exclude에 다음 줄을 추가하십시오 :
Hello.class
.git
하시겠습니까?
"dump.rdb"파일과 비슷한 문제가있었습니다.
이 파일을 다양한 방법으로 .gitignore 파일에 추가하려고 시도했지만 한 가지 방법 만 작동했습니다.
.gitignore 파일의 끝에 파일 이름을 추가하십시오
참고 : 다른 곳에 파일을 추가해도 작동하지 않았습니다.
예를 들어 https://gitlab.com/gitlab-org/gitlab-ce/raw/b3ad3f202478dd88a3cfe4461703bc3df1019f90/.gitignore를 참조하십시오.
나는 이것을 시도했다-
git status
.idea/xyz.xml
.idea/pqr.iml
Output
.DS_Store
echo "
.idea/xyz.xml
.idea/pqr.iml
Output
.DS_Store" >> .gitignore
git status
.gitignore
마찬가지로 우리는 디렉토리와 git 상태에서 무시하려는 모든 하위 디렉토리 / 파일을 추가 할 수 있으며 디렉토리 directoryname/*
에서이 명령을 실행했습니다 src
.
나는 --assume-unchanged
또한 시도 .gitignore
했지만 둘 다 잘 작동하지 않았습니다. 그들은 분기를 전환하기 어렵고 다른 사람의 변경 사항을 병합하기가 어렵습니다. 이것은 내 솔루션입니다.
커밋 할 때 변경 목록에서 파일을 수동으로 제거합니다.
내가 전에 당겨 , 내가 숨겨 놓은 변경된 파일을. 그리고 당기고 난 후에, 나는 숨쉬는 팝을 합니다.
3 단계는 때때로 병합을 트리거하고 해결해야 할 충돌을 일으킬 수 있으며 이는 좋은 일입니다.
이를 통해 팀의 다른 사람들과 공유하지 않은 로컬 변경 사항을 유지할 수 있습니다.