gitignore에서 파일 A는 ! 써서 제외 (원래 와일드카드로 그 디렉터리 전부 ignore 중이었음)
파일 A 스테이징 (add)
-> 커밋
-> update-index --assume-unchanged로 파일 A의 추후 변경 사항 무시
gitignore 수정 (단순 공백 제거)
-> 커밋
-> rebase -i (스쿼시로 커밋 합침. 여기서 에러 발생)
에러 내용은 다음과 같음
error: Your local changes to the following files would be overwritten by checkout: 파일 A
Please commit your changes or stash them before you switch branches.
Aborting
error: could not detach HEAD
당연히 파일 A는 update-index로 변경사항 무시했기 때문에 커밋할 것도 없고 stash도 안됨
뭐가 문제일까
시발 그냥 깃폴더 지우고 다시 만들랜다
귀찮아 죽것노
한번 커밋한 파일은 gitignore에 추가해도 계속 트래킹됨 그거랑 별개로 rebase에러는 그냥 트래킹하는 A가 변경되었는데 커밋안하고 rebase하려고 해서 그럼
update-index로 무시했는데 왜 자꾸 변경사항 커밋하라는거냐..
그건 딱 커밋하는 순간에 임시로 제외하는거지 그 뒤에는 계속 트래킹되고
아 일회용이야? 앞으로도 그런게 아니고?
ㅅㅂ 그럼 민감한 config파일 어떻게 관리하지 따로 폴더 만들어서 쓰라고 넣어둬야하나
퍼블릭이면 config 예제만 넣고 프라이빗이면 걍 커밋해라
원래 소스랑 민감한 정보랑 분리해서 관리하는거다 같이 관리하다 클라우드 보안키 털려서 해커가 채굴돌리고 수천달러 청구되는거 자주있음
그거 관련한 다른 얘기인데 github action 쓸때 secret으로 보관한 정보 다른 사람이 액션돌려서 빼갈수도 있음?
정확힌 db 비번같은거 거따 저장해놓고 github action으로 빌드하면서 쓰는중인데 알아보니까 artifact 같은거로 secret을 빼올수가 있더라고. 해킹 PR 머지하기 전에 리뷰하기만 하면 안전한거지?
깃헙 액션을 안 써봐서 잘 모르겠는데 그건 깃헙 액션에 secret을 어떻게 넘겨주는지 그리고 퍼블릭으로 만들었을때 깃헙 액션 로그나 아티팩트에 다른사람이 접근할수 있는지 찾아봐
아니 퍼블릭이면 걍 비번을 저장하지 마
다른 사람이 PR만 열어도 자동으로 깃헙 액션같은 CI/CD가 돌아갈텐데 그걸 왜 퍼블릭에 올림?
아 포크해도 시크릿이 그대로 넘어가나? ㅅㅂ ㅋㅋ 공개했으면 ㅈ댈뻔했네
지금 다시 보니까 db비번은 안넣었고 aws codedeploy할때 쓰는 쉘파일이랑 액세스키만 넣었네
글고 찾아보니까 포크된 저장소에는 secret에 접근 불가하대
pr에는 액션 할당한거 없으니까 안전한건가 그럼
거기까진 설정해본적이 없어서 모르겠다 근데 나같으면 액세스키 같은건 아예 프라이빗 레포에 저장해서 실수할 가능성을 줄일듯
Preventing pwn requests 찾아봐라 설정만 잘 하면 secrets 안전함. 프라이빗으로 돌리는건 좀 아닌듯 actions minute 제한도 있고