git 3

[Git] Merge vs Rebase: 실무에서 언제 무엇을 써야 할까?

Git의 영원한 난제인 Merge와 Rebase의 기술적 차이점을 커밋 그래프(Commit Graph) 관점에서 분석한다. 실무에서 브랜치 전략에 따라 언제 어떤 방식을 선택해야 하는지, 그리고 "공용 브랜치 Rebase 금지" 원칙이 왜 중요한지 명확한 가이드를 제시한다. [Git] Merge vs Rebase: 실무에서 언제 무엇을 써야 할까?Git을 처음 접하는 주니어 개발자들이 가장 두려워하는 명령어 중 하나가 바로 rebase다. "이력(History)을 조작한다"는 말 때문에 거부감을 느끼거나, 잘못 사용했다가 코드가 날아갈까 봐 무조건 merge만 고집하는 경우를 종종 본다.하지만 merge만 사용하다 보면 커밋 그래프가 복잡하게 꼬인 '기차선로(Railroad)' 형태가 되어버려 히스토리 ..

카테고리 없음 2025.12.05

Git 줄바꿈 충돌 해결 가이드

Windows와 Mac 사용자가 협업할 때 발생하는 Git 줄바꿈 충돌(CRLF vs LF)의 원인을 분석하고, 로컬 설정(autocrlf)의 한계를 넘어 .gitattributes 파일을 통해 프로젝트 차원에서 영구적으로 해결하는 방법을 정리한다. Git 줄바꿈(CRLF vs LF) 충돌: .gitattributes로 팀 협업 설정 완벽 정리협업을 하다 보면 코드를 한 줄도 수정하지 않았는데, git diff를 쳐보면 전체 파일이 수정된 것으로 나오는 황당한 경우를 겪게 된다. 범인은 바로 운영체제마다 다른 줄바꿈 문자(Line Ending)다.Windows 사용자와 Mac/Linux 사용자가 섞여 있는 팀이라면 이 문제는 시한폭탄과 같다. 개인 설정(autocrlf)에 의존하지 않고, 프로젝트 단위로..

카테고리 없음 2025.11.25

Git Windows 대소문자 이슈

Windows 환경에서 파일명의 대소문자만 변경했을 때 Git이 이를 인식하지 못하는 원인(NTFS 파일 시스템)을 분석하고, git mv 명령어를 사용한 해결 방법과 core.ignorecase 설정의 주의점을 정리했습니다. Git 대소문자 무시 문제: Windows에서 파일명 변경 인식시키는 법작업을 하던 중 컴포넌트 파일명의 첫 글자를 소문자에서 대문자로 바꾸고(header.tsx → Header.tsx), Git에 푸시했습니다. 로컬에서는 잘 돌아갔는데, 배포 서버(Linux)에서 "파일을 찾을 수 없다"는 빌드 에러가 발생했죠.확인해 보니 Git 원격 저장소에는 여전히 소문자 파일명으로 남아있었습니다. 왜 윈도우 환경에서는 파일 이름의 대소문자 변경을 감지하지 못하는 걸까요? 그 원인과 가장 안..

카테고리 없음 2025.11.24