Studying/Android

gitignore 설정을 잘못했는데 어쩌지😥 (부제: git 캐시 삭제)

강옌니 2024. 4. 28. 01:05

안녕하세요 오늘은 gitingore 설정을 잘못했을 경우에 대해서 얘기해보겠습니다! 

개인프로젝트에서 잘못한게 아니라...

무려 팀프로젝트에서 gitingore 설정을 잘못하고 사용했더라고요...!

 

# Android Studio Navigation editor temp files
.navigation/

# Android Studio captures folder
captures/

# IntelliJ
*.iml
.idea/*
.idea/workspace.xml
.idea/tasks.xml
.idea/gradle.xml
.idea/assetWizardSettings.xml
.idea/dictionaries
.idea/libraries
# Android Studio 3 in .gitignore file.
.idea/caches
.idea/modules.xml
# Comment next line if keeping position of elements in Navigation Editor is relevant for you
.idea/navEditor.xml

# Keystore files
# Uncomment the following lines if you do not want to check your keystore files in.
#*.jks
#*.keystore

# External native build folder generated in Android Studio 2.2 and later
.externalNativeBuild
.cxx/

# Google Services (e.g. APIs or Firebase)
google-services.json

# Freeline
freeline.py
freeline/
freeline_project_description.json

# fastlane
fastlane/report.xml
fastlane/Preview.html
fastlane/screenshots
fastlane/test_output
fastlane/readme.md

# Version control
vcs.xml

# lint
lint/intermediates/
lint/generated/
lint/outputs/
lint/tmp/
# lint/reports/

 

 

처음 넣었던 gitingore 코드입니다!

근데 여기서 제가 바보같이 .ideal 폴더들도 추가를 안해주고... 

그래서 어쩐지 자꾸 사람들 local 경로랑 다르니까 자꾸 pull 받고 브랜치 새로 만들면

git 추적이 되어서 이상하게 되더라고요 허허 

 

그래서 이 부분을 더 추가해주었습니다 !

*.iml
.gradle
/local.properties
/.idea/caches
/.idea/libraries
/.idea/modules.xml
/.idea/workspace.xml
/.idea/navEditor.xml
/.idea/assetWizardSettings.xml
.DS_Store
/build
/captures
.externalNativeBuild
.cxx
local.properties

 

근데 여기서 이렇게만 수정해서 gitignore만 수정해서 main 브랜치에 올려주면 안됩니다...!

깃은 한번 추적한 파일은 계속 추적하기 때문에 캐시삭제라는 걸 해주어야하거든요 !

 

거기다가 저는 더 머리가 아팠던게 팀원분들도 각각 로컬에서 작업중이셨고,,,

브랜치도 여러개여서 고민이 컸습니당...~

다행히 고민 후 그리고 조언을 받아서 문제를 해결했습니다!

 

1️⃣ 사용하고 있는 주 브랜치 (작업물들이 합쳐지는 브랜치)에서 깃 이그노어 수정 후 커밋

 

위에서 한 것처럼 gitinore 코드를 수정하고 커밋해주었습니다!

 

git add .
git commit -m "[chore] gitinore 수정"
git push origin 브랜치명

 

 

2️⃣ 주 브랜치에서 캐시 삭제 진행하기 후 커밋하기 !

// 캐시 모두 삭제
git rm -r --cached .

// gitignore에 입력된 파일 목록을 제외한 다른 모든 파일을 추적하게 하기
git add .

// 커밋
git commit -m " git 캐시 clear"

  

 

3️⃣ 마지막으로 각각 브랜치에서 주 브랜치의 최신 브랜치 merge 하기 !

 

git merge 주브랜치명

 

요게 중요합니다 !

다른 브랜치에서 merge하지 않고 또 commit을 올리면 또 그 파일들이 올라가겠죠?

다른 브랜치도 주브랜치와 merge를 통해 깃 캐시 삭제를 받아야합니다 :)