설명

<aside>

Case 1: gitignore에 작성된 신규 파일(무시됨)

원하는 동작

  1. gitignore에서는 유지함
  2. 커밋하여 이후 git 추적 상태를 유지

방법

git add -f {경로}

</aside>

<aside>

Case 2: 한 번 이상 커밋이 발생하여 gitignore로 무시 불가능한 파일

원하는 동작

  1. gitignore를 통해서 무시
  2. 원격 리포지토리에서 해당 파일을 제거
  3. 이후 gitignore를 통해 무시하는 상태 유지

방법

git rm --cached {파일경로}
git rm --cached {디렉토리경로}/**

</aside>

<aside>

Case 3: 신규 파일을 최초 커밋 후 무시

원하는 동작

  1. gitignore를 통해서 무시
  2. 강제로 최초 커밋
  3. 이후 최초 커밋 상태를 유지하며 무시

방법

# 무시 설정
git update-index --skip-worktree {파일경로}

# 무시 해제
git update-index --no-skip-worktree {파일경로}

# 무시 상태 확인(H: 추적됨, S: 무시됨)
git ls-files -v [경로]
git ls-files -v | findstr "^S"
git ls-files -v $(git rev-parse --show-toplevel) | findstr "^S"

</aside>