하나의 파일을 제외하고 커밋할 모든 파일 추가

John Wachira 2023년6월20일
하나의 파일을 제외하고 커밋할 모든 파일 추가

이 문서에서는 선택한 파일을 제외하면서 커밋할 모든 파일을 추가하는 방법을 설명합니다. 이는 커밋에 포함하려는 파일이 많고 단일 파일을 생략해야 하는 경우 유용합니다.

한 번에 파일을 추가하는 대신 다음의 간단한 단계를 따를 수 있습니다.

하나의 파일을 제외하고 커밋할 모든 파일 추가

아래 예를 살펴보십시오. 20개 이상의 수정된 파일이 있다고 가정하면 하나를 제외하고 모두 추가하려면 어떻게 해야 합니까?

색인에서 requirements.txt 파일을 제외하고 싶다고 가정해 보겠습니다. 어떻게 해야 할까요?

준비하는 동안 requirements.txt 파일을 제외하기 위해 몇 가지 명령을 사용할 수 있습니다. 이것들은:

  1. git reset 명령으로 스테이지를 해제합니다.
  2. Exclude Pathspec을 사용하십시오.
  3. 해당 파일을 추적에서 일시적으로 제외합니다.

git reset 명령 사용

git reset 명령을 사용할 때 모든 파일을 인덱스에 추가한 다음 원하는 파일을 언스테이징해야 합니다.

통사론:

# Start by staging all files
$ git add .
# To exclude a file
$ git reset -- path/to/file
# To exclude a folder
$ git reset -- path/to/folder/*

이 경우에는 아래 그림과 같이 모든 파일을 추가하고 requirements.txt 파일을 언스테이징합니다.

$ git add .

이렇게 하면 모든 파일이 준비됩니다. requirements.txt 파일을 언스테이징하기 위해 다음을 실행합니다.

$ git reset -- path/to/requirements.txt

이 명령은 requirements.txt 파일을 언스테이징해야 합니다.

제외 경로 사양 사용

Git 버전 1.9.0 이상에서는 커밋할 파일을 추가하는 동안 하나 이상의 경로를 제거할 수 있습니다. 이는 :(제외) 경로 사양으로 가능하며 :!로도 작성됩니다. 또는 :^.

다음은 예입니다.

$ git add --all -- ':!path/to/requirements.txt'

폴더를 제외하려면:

$ git add --all -- ':!path/to/folder/*'

일시적으로 추적에서 파일 제외

아래 그림과 같이 requirements.txt 파일을 추적에서 일시적으로 제외할 수 있습니다.

$ git update-index --assume-unchanged path/to/requirements.txt

Git은 git add .를 실행할 때마다 requirements.txt 파일을 제외합니다. 명령. --assume-unchanged로 표시된 모든 파일을 나열하려면 다음을 실행합니다.

$ git ls-files -v | grep "^h"

제외 목록에서 파일을 제거하려면 다음을 실행합니다.

$ git update-index --no-assume-unchanged path/to/requirements.txt

간단히 말해서 하나를 제외한 모든 파일을 인덱스에 추가하는 방법에는 여러 가지가 있습니다. 논의한 바와 같이 일시적으로 파일을 추적에서 제외하는 것이 가장 깨끗하고 효율적입니다.

작가: 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 Add

관련 문장 - Git Commit