programing

Windows의 Git 저장소에 있는 디렉터리 무시

i4 2023. 5. 1. 19:58
반응형

Windows의 Git 저장소에 있는 디렉터리 무시

Windows에서 msysgit를 사용하여 Git의 디렉터리나 폴더를 무시하려면 어떻게 해야 합니까?

이름이 지정된 파일 만들기.gitignore프로젝트 디렉토리에 있습니다.슬래시가 추가된 파일에 디렉토리 이름을 입력하여 디렉토리를 무시합니다.

dir_to_ignore/

자세한 내용은 여기에 있습니다.

에는 Windows 탐색기가 됩니다..gitignore이 실로파일이름이제인 .gitignore.txt.

는 Git를 하지 않을 입니다..gitignore.txt

파일 이름을 다음으로 변경할 수 없습니다..gitignoreWindows 탐색기는 이름이 없는 gitignore 유형의 파일이라고 생각하기 때문입니다.

비명령줄 솔루션:

파일 이름을 ".gitignore"로 변경할 수 있습니다. 그러면 ".gitignore"가 생성됩니다.

파일 및 디렉터리를 무시하는 방법은 크게 두 가지가 있습니다.

  1. .git ignore

    • 치를 .gitignore합니다..git폴더(Windows에서는 실제 파일 확장자가 표시되는지 확인한 다음.gitignore.에 점을 빈 (마지에점빈확를만드는포함자장파막
    • 만들기~/.gitignore_global 중인 닝러git config --global core.excludesfile ~/.gitignore_global 하구면다음과같이하십시오성려추가.

    은 " " " ": " " " " " " 을 실행하면 을 해제할 수 .git rm --cached filename

  2. 리포지토리 제외 - 공유할 필요가 없는 로컬 파일의 경우 파일 패턴 또는 디렉토리를 파일에 추가합니다..git/info/exclude이러한 규칙은 커밋되지 않으므로 다른 사용자가 볼 수 없습니다.자세한 내용은 여기에 있습니다.

무시된 파일 목록에서 예외를 설정하려면 이 질문을 참조하십시오.

전체 디렉터리를 무시하려면 .gitignore를 "*"로 지정합니다.

예를들면,

시스템 예제

/root/
    .gitignore
    /dirA/
        someFile1.txt
        someFile2.txt
    /dirB/
        .gitignore
        someFile3.txt
        someFile4.txt

  • dirB/의 내용을 무시합니다.

최상위 수준(/root/.gitignore)

  • 여기서 그냥 "dirB/" 하면 됩니다.

무시된 디렉토리(/root/dirB/.gitignore)

  • 또는 여기서 "*"할 수 있습니다.

Git는 파일 시스템의 모든 단계에서 Git 무시를 감시합니다.그래서 여기서 저는 dirB/.gitignore를 "*"로 선택하여 dirB/를 무시하고 내부의 모든 파일과 하위 dir를 포함합니다.

☺ 작업 완료

폴더를 는 Git를 생성해야 ..gitignorejava.

그러나 Windows 탐색기에서는 파일 이름을 제공해야 합니다.확장자로만 파일을 만들 수 없습니다.은 빈 을 " 은결빈텍스파만일명이들프고령동롬다파것"로 변경하는 입니다..gitignore:

ren "New Text Document.txt" .gitignore

이제 즐겨찾는 텍스트 편집기로 파일을 열고 무시할 파일/폴더 이름을 추가합니다.과 같은할 수도 있습니다.*.txt.

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

Windows(윈도우)에는 슬래시를 사용한 추가 캐치가 있습니다..gitignore의 단일 디렉터리 제외(으)

dir_to_dir/

작동할 수 있지만 모든 디렉토리 제외

/

합니다(예:my file.txt예: Git Bash)를 사용하여 my\ file.txt및Git for Windows를 ./그리고.\.

모든 디렉터리를 제외하려면 다음을 사용하는 것이 좋습니다.

**/

두 개의 별표는 디렉토리 내용을 나타냅니다.

다음 내용을 사용하여 ".gitignore" 파일을 만들 수 있습니다.

*
!.gitignore

저한테는 효과가 있어요.

해야 할 를 대비해서, 은 " 만 당 폴 수 다 있 습 니 사 할 용 를 경 약 우 할 신 이 하 제 야 위 해 외 더 를 ▁the ▁use ▁just 다 ▁you ▁sub ▁can 니 ▁folders 있 만 습약 수**모든 하위 디렉터리 수준을 제외하는 와일드카드입니다.

**/build/output/Debug/

에도.\.git\info▁that▁▁the▁thing▁와 사실상 같은 제외 파일이 ..gitignore할 수 .무시할 파일 및 디렉터리를 추가할 수 있습니다.

다른 모든 작업이 실패할 경우 파일 편집 시도

/.git/info/message

다음과 같이 파일 끝에 원하는 디렉터리를 추가합니다.

# 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/

무시할 파일 및 디렉터리 목록에 "자산" 및 "컴파일" 폴더를 추가했습니다.

Git가 그 일을 맡도록 하는 데 약간의 문제가 있었습니다..gitignore파일을 저장합니다.$GIT_DIR/info/exclude하지만 파일은 항상 작동하는 것처럼 보입니다.

은 그나러이방단파것다같다입니은음과에 입니다.$GIT_DIR디렉토리가 체크인에 포함되지 않으므로 공유되지 않습니다.

추신.$GIT_DIR으로 로적으는은이 (숨) 름진폴더다니입겨라는 이름의 폴더입니다..git

Unix의 경우:

touch .gitignore

Windows의 경우:

echo > .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파일이 아직 저장소에 추가되지 않았습니다. (캐시 디렉터리에 무시되지 않은 파일이 있는 것으로 확인되지만 디렉터리만 보고합니다.)문제를 하려면 문를해려다음추커확오시십인하를 하고 하십시오.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는 그냥 저는 단지 이 테스트 케이스에 게으른 것 뿐입니다.)

윈도우즈 및 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 파일을 추적하지 않는 것을 기억해야 합니다.

하지만 저는 여기서 좋은 답을 찾았습니다.

http://archive.robwilkerson.org/2010/03/02/git-tip-ignore-changes-to-tracked-files/index.html

만들기만 하면 됩니다..gitignore을 저장한 합니다. 예: 프젝트폴파저일다추다이가니합름폴을더음장.

frontend/node_modules

이것은 일부 사람들에게는 매우 명백할 수 있지만, 저는 다른 대답들로부터 이것을 이해했습니다.

디렉터리에 .gitignore 파일을 만드는 것 자체는 아무 것도 하지 않습니다..gitignore를 텍스트 파일로 열고 무시할 파일/디렉토리를 각각의 줄에 작성해야 합니다.

Git 저장소 디렉토리로 이동합니다.

touch .gitignore
nano .gitignore

그런 다음 무시할 파일 또는 디렉터리의 이름과 해당 확장자(관련된 경우)를 기록합니다.

OS Mac)의이므로 .gitignore " OS(예: Mac)의 .gitignore가 합니다.ls -als 뿐만 아니라 그것을 보기 위해.

이미 시작된 디렉토리/파일을 일시적으로 무시합니다.

저는 다중 프로젝트 Gradle 프로젝트에 많은 프로젝트를 가지고 있으며 삭제하는 데 시간이 오래 걸릴 수 있으며, 거의 비슷하지만 모두 다릅니다.때때로 나는 그것들을 완전히 삭제함으로써 그것들을 gradle build에서 제거하고 싶습니다. git은 결국 그것들을 되찾을 수 있습니다.하지만 나는 그들이 git 상태로 나타나는 것도 원하지 않습니다.그래서 저는 다음과 같은 간단한 절차를 사용합니다.

  1. 원하지 않는 파일 및 폴더를 삭제합니다.
  2. 빌드가 여전히 작동하는지 확인
  3. 삭제된 파일을 잠시 무시하라고 git에게 말합니다(우리는 그들을 되찾을 수 있습니다).

gitls-files --git -z | git update-index --git-files -z --stdin

  1. 당신이 그것들을 돌려받기를 원할 때까지 디르 없이 삶을 살아갑니다.그런 다음 이전과 동일한 명령을 실행하지만, assume-unchanged에 대해 assume-unchanged로 전환합니다.

gitls-files --no-files -z | git update-index --no-files -z --stdin

언급URL : https://stackoverflow.com/questions/343646/ignoring-directories-in-git-repositories-on-windows

반응형