Git에서 추적되지 않은 파일 무시

John Wachira 2023년6월20일
Git에서 추적되지 않은 파일 무시

이 문서에서는 Git 리포지토리에서 추적되지 않은 파일을 무시하는 데 사용할 수 있는 두 가지 방법에 대해 설명합니다. 로컬 리포지토리에 여러 개의 추적되지 않은 파일 및 폴더가 있는 경우 git status 명령을 실행하면 많은 행이 출력됩니다.

바로 뛰어들자.

Git에서 추적되지 않은 파일 무시

두 가지 다른 시나리오를 사용하여 두 가지 방법을 다룰 것입니다. 첫 번째 경우에는 Delftscopetech 저장소가 있습니다.

다음은 저장소에 있는 것입니다.

pc@JOHN MINGW64 ~/Documents/GitHub/Delftscopetech (main)
$ git status
On branch main
Your branch is up to date with 'origin/main'.
Changes to be committed:
  (use "git restore --staged <file>..." to unstage)
        new file:   Delft.pdf
        new file:   sample.ph
Untracked files:
  (use "git add <file>..." to include in what will be committed)
        Example Code 2
        Example Code 2.php
        Example Code 3.php
        Example code 1.php
        downloadpdf.php
        htmllinkpdf.html
        insert.php

git status 명령은 커밋할 준비가 된 두 개의 파일과 여러 개의 추적되지 않은 파일을 보여줍니다. 추적되지 않은 파일을 삭제하지 않고 출력에서 제외하고 싶었습니다.

어떻게 해야 할까요?

git status 명령에 -uno 매개변수를 추가합니다. 그렇게 간단합니다. 저장소로 사용해 봅시다.

pc@JOHN MINGW64 ~/Documents/GitHub/Delftscopetech (main)
$ git status -uno
On branch main
Your branch is up to date with 'origin/main'.
Changes to be committed:
  (use "git restore --staged <file>..." to unstage)
        new file:   Delft.pdf
        new file:   sample.php
Untracked files not listed (use -u option to show untracked files)

-uno 매개변수는 --untracked-files=no의 별칭입니다.

매개변수 없이 git status 명령을 실행하면 추적되지 않은 파일이 표시됩니다.

추적되지 않은 파일을 영구적으로 무시하려면 어떻게 해야 합니까? 어떻게 하죠?

아래 명령을 사용합니다.

git status --porcelain | grep '^??' | cut -c4- >> .gitignore

이렇게 하면 리포지토리에서 현재 추적되지 않은 파일이 영구적으로 숨겨집니다. 명령이 작동하려면 기존 .gitignore 파일이 있어야 합니다.

파일이 없으면 gitignore가 무시합니다. .gitignore 파일이 없는 경우 아래 명령을 사용하십시오.

echo "$(git status --porcelain | grep '^??' | cut -c4-)" > .gitignore

git status --porcelain 부분은 .gitignore 파일이 생성되기 전에 실행됩니다. 구문 분석하기 쉬운 형식으로 출력을 얻기 위해 git status --short 대신 git status --porcelain을 사용합니다.

grep '^??' 부분은 ??로 시작하는 모든 줄을 필터링합니다. 매뉴얼에 따르면 이 줄은 저장소의 추적되지 않은 파일에 해당합니다.

cut -c4- 부분은 모든 줄의 처음 세 문자를 제거하여 추적되지 않은 파일로 가는 길을 열어줍니다.

작가: John Wachira
John Wachira avatar John Wachira avatar

John is a Git and PowerShell geek. He uses his expertise in the version control system to help businesses manage their source code. According to him, Shell scripting is the number one choice for automating the management of systems.

LinkedIn

관련 문장 - Git Ignore