Git3 Git 머지할 때 삭제했던 파일이 되살아난다면? 1년 고생 끝에 찾은 해결법 회사에서 여러 서비스가 운영되다 보면하나의 Git repository에서 브랜치마다 파일 구성이 달라지는 경우가 종종 있어요. 제 경우에는 빌드 속도 최적화를 위해특정 브랜치에서는 필요 없는 파일들을 아예 삭제해두고 사용하고 있었어요. 문제는 여기서부터였어요. 매번 반복되던 귀찮은 머지 작업 😇 운영 구조상 master 브랜치의 변경 사항을제가 사용하는 브랜치로 주기적으로 머지해야 했는데요. 머지를 한 번 할 때마다…이미 삭제해둔 파일들이 다시 살아나고git status를 보면서 하나하나 직접 git rm으로 지우는 작업을 반복했어요.이 작업을 약 1년 동안, 두 달에 한 번꼴로 계속하고 있었네요. 지금 생각해보면 참… 😭 그러다 문득 점점 똑똑해지고 있는 ChatGPT에게 물어봤어요 어느 날 문.. 2025. 12. 24. 🧩 git은 파일명 변경을 어떻게 인식할까? – “이름보다 내용이 중요하다” Git을 쓰다 보면 이런 경험, 한 번쯤 있으실 거예요.파일 이름을 바꿨는데, git diff나 git log에서 마치 새 파일처럼 보이거나, 반대로 이름이 바뀌었는데도 히스토리가 그대로 이어지는 경우요. 그래서 오늘은 이 질문에 답해보려 합니다.👉 “Git은 파일 이름 변경(rename) 을 어떻게 인식할까?” 🔍 결론부터 말하자면: Git은 ‘이름’이 아니라 ‘내용’을 본다 Git은 기본적으로 파일 이름을 직접 추적하지 않습니다.즉, mv old.txt new.txt처럼 이름만 바꿔도 Git 내부에는“이 파일이 old.txt에서 new.txt로 바뀌었다”라는 메타데이터가 따로 저장되지 않아요. 그럼에도 Git이 종종 “rename detected”라고 알려주는 이유는,Git이 커밋을 비교할 때 .. 2025. 11. 11. 💾 최종_final_realfinal.c 시대에서 Git까지, 버전 관리의 변천사와 미래 지금은 GitHub에 코드를 올리는 게 너무 당연하지만,대학 시절엔 코드 백업을 USB나 메일로 들고 다니던 시절이었죠.과제 마감 전날, USB 잃어버리면 진짜 세상이 무너지는 기분이었고,메일 첨부파일 이름이 final_final_v3.c였던 적도 있었어요 😂 그땐 그냥 “파일 복사”가 버전 관리의 전부였죠.누가 내 코드를 조금이라도 고치면 바로 덮어쓰였고,‘이전 버전 복구’ 같은 개념은 아예 없었습니다. 🧭 CVS에서 SVN으로 – “브랜치는 있었지만 현실은 헬이었다” 입사한 회사에서는 처음에 CVS(Concurrent Versions System) 를 잠깐 쓰다가SVN(Subversion) 으로 전환했어요. CVS에도 브랜치(branch) 개념이 이론적으로는 존재했지만,문제는 그 구조가 파일 단.. 2025. 11. 6. 이전 1 다음