스택큐힙리스트

Git 리포지토리에 이미 커밋 된 파일을 무시하십시오. [중복] 본문

카테고리 없음

Git 리포지토리에 이미 커밋 된 파일을 무시하십시오. [중복]

스택큐힙리스트 2023. 3. 16. 14:21
반응형

이 질문은 이미 답변이 있습니다.

How do I make Git forget about a file that was tracked, but is now in .gitignore?

33개의 답변

5년 전에 닫혀졌습니다.

이미 초기화된 Git 리포지토리에 .gitignore 파일을 추가했습니다. 무시하고 싶은 파일이 무시되도록 파일 인덱스를 새로 고칠 수 있는 방법이 있을까요?

답변 1

이미 레포지토리에 추가/초기화된 단일 파일의 추적을 중단하고 시스템에서 삭제하지 않으려면 git rm --cached filename을 사용하십시오.

이제 .gitignore에 있는 모든 파일의 추적을 취소하려면 :

먼저 아직 완료되지 않은 코드 변경 사항을 커밋하고, 그 다음에 이 명령어를 실행하십시오.

git rm -r --cached .

이 명령어는 변경된 파일을 인덱스(스테이징 영역)에서 삭제한 후에 다음을 실행합니다.

git add .

그것을 행하십시오.

git commit -m .gitignore is now working

git rm --cached filename를 되돌리려면 git add filename를 사용하십시오.

git add .를 실행하기 전에 모든 중요한 변경 사항을 커밋하는 것이 중요합니다. 그렇지 않으면 다른 파일의 변경 사항이 손실될 수 있습니다.

이것을 저장소에 푸시하고 그 파일들이 여전히 추적되는 상태에서 다른 곳에서 풀할 때 주의해 주세요. 파일이 삭제될 수 있습니다.

답변 2

게임 개발을 하던 중 Git으로 코드를 관리하고 있었다. 코드가 계속해서 변하면서 추가되거나 수정되는 파일이 많아졌고, 그 중에는 이미 커밋되어 있는 파일들도 있었다. 이럴 때는 이미 커밋된 파일은 무시하고 새로운 파일들만 추가하고 싶을 때가 있다.

해결책은 간단하다. Git에서는 이미 커밋된 파일을 무시할 수 있는 옵션을 제공한다. 이 옵션을 이용하면 이미 커밋된 파일이 수정되어도 그 변경사항을 추적하지 않고, 새로운 파일만을 추가할 수 있다.

먼저 .gitignore 파일을 만들어야 한다. 이 파일은 Git이 지켜볼 필요가 없는 파일이나 디렉토리를 지정하는 데 사용된다. 예를 들면, 로그 파일, 보안 파일, 개인 정보 파일 등이 이에 해당한다.

.gitignore 파일은 프로젝트 루트 디렉토리에 위치해야 한다. 파일 이름은 반드시 .gitignore로 지정해야 하며, 내용은 무시하고자 하는 파일이나 디렉토리의 경로를 추가하면 된다. 예를 들면 다음과 같은 내용이 될 수 있다.

```

# ignore log files

*.log

# ignore security files

secrets/

# ignore personal information files

private_data/

```

이제 .gitignore 파일을 생성한 후, Git에게 이 파일을 인식하도록 해야 한다. 이 작업을 위해 다음 명령어를 사용하면 된다.

```

git add .gitignore

git commit -m Add .gitignore file

```

이제 Git은 .gitignore 파일에서 지정한 파일이나 디렉토리를 계속해서 무시하게 된다. 만약 이미 커밋된 파일을 무시하고 싶다면, 다음 명령어를 사용하면 된다.

```

git rm --cached 파일명

```

이 명령어를 사용하면 해당 파일은 로컬 저장소에서는 삭제되지 않지만, 이후의 커밋에서는 무시된다.

이렇게 Git에서 이미 커밋된 파일을 무시하는 방법을 알아보았다. Git을 사용하는 개발자라면, 이 기능을 잘 활용하여 효율적인 코드 관리를 할 수 있을 것이다.

반응형
Comments