본문 바로가기
프로그램 (PHP,Python)

Git 저장소 버전관리 폴더 및 파일 제외목록 정의

by 날으는물고기 2024. 1. 26.

Git 저장소 버전관리 폴더 및 파일 제외목록 정의

Git으로 버전 관리되는 파일 중에서 특정 파일이나 디렉토리를 .gitignore 파일에 추가했을 때, 이 파일이나 디렉토리는 로컬 저장소에서는 무시되지만, 이미 원격 저장소에 올라간 파일은 .gitignore에 추가해도 원격 저장소에는 영향을 주지 않습니다. .gitignore는 로컬에서만 동작하고, 이미 커밋된 파일은 이에 영향을 받지 않기 때문입니다.

 

만약 원격 저장소에서도 특정 파일이나 디렉토리를 삭제하고 싶다면, 아래와 같은 단계를 따를 수 있습니다.

  1. 로컬에서 삭제: .gitignore에 추가한 파일 또는 디렉토리를 로컬에서 삭제합니다.위 명령어는 해당 파일 또는 디렉토리를 로컬 저장소에서만 삭제합니다. --cached 옵션을 사용하여 워킹 디렉토리에서는 삭제하지 않고, 인덱스에서만 삭제하도록 합니다.
     git rm --cached path/to/ignored_file_or_directory
  2. 커밋 및 푸시:변경 내용을 커밋하고, 원격 저장소에 푸시합니다.
     git commit -m "Remove ignored files or directories"
     git push origin branch_name

이후로는 해당 파일 또는 디렉토리가 로컬 및 원격 저장소에서 모두 제거됩니다. 이 작업은 주의해서 수행해야 하며, 다른 팀원들과 협업 중인 경우 해당 파일이나 디렉토리를 삭제해도 괜찮은지 확인해야 합니다.

 

git rm --cached 명령을 사용하면 실제 파일이나 디렉토리는 로컬 저장소에서만 삭제되고, 워킹 디렉토리에서는 삭제되지 않습니다. 이는 --cached 옵션을 사용하여 인덱스에서만 해당 파일을 제거하기 때문입니다.

 

만약 실제 파일이나 디렉토리를 로컬 워킹 디렉토리에서도 삭제하려면, git rm 명령을 사용하면 됩니다. 다음은 실제 파일까지 삭제하는 방법입니다.

git rm path/to/ignored_file_or_directory

그 후에 커밋하고 푸시하면 해당 파일이나 디렉토리가 로컬과 원격 저장소에서 모두 삭제됩니다.

 

__pycache__ 폴더와 하위 파일을 모두 제거하려면 다음과 같은 Git 명령어를 사용할 수 있습니다.

  1. 로컬에서 삭제:이 명령은 __pycache__ 폴더와 그 하위 파일 및 디렉토리를 인덱스에서만 제거합니다. 실제로 파일 시스템에서는 삭제되지 않습니다.
     git rm -r --cached __pycache__
  2. 커밋 및 푸시:변경 내용을 커밋하고, 원격 저장소에 푸시합니다.
     git commit -m "Remove __pycache__ folder"
     git push origin branch_name

위의 단계를 따르면 __pycache__ 폴더와 그 안의 모든 파일이 로컬 저장소에서 제거되고, 커밋되어 원격 저장소에도 반영됩니다.

 

__pycache__ 폴더와 그 하위 파일을 Git 저장소에 반영되지 않도록 하려면, 아래와 같이 .gitignore 파일에 해당 폴더를 추가해야 합니다.

  1. .gitignore 파일을 엽니다 (없다면 새로 만들 수 있습니다).
  2. 다음과 같이 내용을 추가합니다.
     __pycache__/
    이렇게 하면 __pycache__ 폴더와 그 안의 모든 내용이 Git 저장소에서 무시되고 추적되지 않습니다.
  3. .gitignore 파일을 저장합니다.
  4. 만약 이미 __pycache__가 저장소에 올라가 있는 경우, 캐시된 파일을 삭제하고 커밋합니다.
     git rm -r --cached __pycache__
     git commit -m "Remove __pycache__ from repository"
  5. 이후로는 __pycache__ 폴더와 그 하위 파일이 Git 저장소에 반영되지 않게 됩니다.

이제 .gitignore 파일에 추가된 내용은 로컬 및 원격 저장소에 영향을 미치게 됩니다. 새로운 파일이나 폴더를 추가할 때마다 .gitignore에 정의된 규칙에 따라 Git은 해당 파일을 무시합니다. 이렇게 하면 .gitignore 파일을 사용하여 다시 생성되는 것을 방지할 수 있습니다.

728x90

댓글