본문 바로가기

개발 노트/Linux

[Git] git diff 명령어 시 ^M 기호와 함께 충돌 나는 경우

반응형

git 변경 사항에 ^M 기호 있는 경우 해결 방법



Linux 에서 git 사용 시 간혹 merge 또는 diff 시, 변경점에서 같은 소스에 ^M 기호때문에 다르게 판단하는 경우가 있다.


또는 Linux 파일을 Windows 에서 에디터를 사용해 FTP 로 읽고 저장 시 ^M 기호가 생기는 경우를 볼 수 있다.


이럴 경우 일반적으로 내부 코드 사용 시에는 상관이 없지만 git 은 이 모든 LIne 을 변경사항으로 인지한다.


예시 :




해결 방법은 다음과 같다.


1. vi 로 해당 파일 열어서 ^M 문자 출력

1
2
3
4
vi file_name
// after open the file
:set ffs=unix
:e file_name
cs



2. ^M 문자 삭제
1
:%s/^M//g
cs


※ 주의 : 여기서 가운데 ^M 은 보이는 문자 그대로가 아닌 Ctrl + v + m 으로 입력한다.



위 방법으로 파일의 ^M 개행문자를 삭제하면 git diff 시에도 실제 변경된 Line 들만 출력되는 것을 확인할 수 있다.

 




반응형