스프링 프로젝트를 깃에 올릴 때
application.properties 파일만 스테이징에서 제거하고 싶었다.
커밋 내역은 git log로 찍고 revert하여 충분히 되돌릴 수 있었지만
add한 내역은 돌아오지 않았고, 심지어 이미 추가한 파일들이 로컬에서 사라졌다.
그러나 다음 명령어로 로컬 파일은 그대로 두되, 커밋 내역은 취소할 수 있었음
git reset --mixed HEAD^
git reset --mixed HEAD~3
근데 그 많은 수정 내역들을 전부 add할 순 없었다.
왜냐하면 application.properties파일에 보안 위협 내역이 있어서 저장소에서
오류가 났음.. gitignore를 뒤늦게 추가해도 이미 추가해버려서 충돌이 자꾸 났다.
그래서 이예 올릴 때 application.properties을 제외하고 올리는 게 나을 것 같아서 찾아 본 방법.
참고로, git add 명령은 --exclude 옵션이 지원되지 않기 때문에 다른 방법을 사용해야한다.
add해서 파일을 origin에 올려두는 걸 스테이징이라고 하는데
특정 파일을 제외하고 나머지 파일들을 스테이징하려면 다음과 같은 방법을 사용할 수 있음
1) 일괄 추가하기
git add .
2) 특정 파일만 스테이징에서 제외
git reset fyl_server/src/main/resources/application.properties