스택큐힙리스트

파일이 Git 클론 후에 직접 수정되어 보입니다. 본문

카테고리 없음

파일이 Git 클론 후에 직접 수정되어 보입니다.

스택큐힙리스트 2023. 11. 23. 09:52
반응형

나는 현재 저장소에 문제가 있고, 내 Git-fu는 일반적으로 잘 되지만이 문제를 해결할 수 없는 것 같습니다.


이 저장소를 복제 한 다음 저장소로 이동하면 git status로 여러 파일이 변경되었음을 표시합니다. 참고 : 저장소를 편집기로 열지는 않았습니다.


이 가이드에 따라 시도해 보았습니다 : http://help.github.com/dealing-with-lineendings/, 하지만 이는 내 문제에 전혀 도움이 되지 않았습니다.


git checkout -- .을 여러 번 시도해 보았지만 아무런 작업을 수행하지 않는 것 같습니다.


나는 맥을 사용하고, 저장소 자체에 서브모듈은 없습니다.

맥에서는 저널링 HFS+ 파일 시스템을 사용하며 대소문자를 구별하지 않습니다. 파일은 한 줄이며 약 79KB이므로 git diff를 확인하는 것은 특별히 도움이되지 않습니다. 저장소가 있는 컴퓨터에 다시 도착하면 git config --global core.trustctime false을 시도해 볼 것입니다.


파일 시스템의 세부 사항을 변경했고! 그리고 git config --global core.trustctime false 트릭을 시도해 보았는데 잘 작동하지 않았습니다.

답변 1

저는 Mac에서 리포지토리 클론 후 동일한 문제가 있었습니다. 모든 파일이 변경됐다고 가정합니다.


git config --global core.autocrlf input을 실행한 후에도 여전히 모든 파일이 변경되었습니다. 문제를 해결하기 위해 홈 디렉토리에서 .gitattributes 파일을 찾았습니다. 해당 파일은 다음과 같이 설정되어 있었습니다.


* text=auto

저는 해당 부분을 주석 처리하였고 이후에 클론된 다른 리포지토리들은 정상 작동하였습니다.

답변 2

깃 클론 후 수정된 파일로 표시되는 문제에 대한 원인과 해결방법을 알아보겠습니다.
깃(Git)은 협업을 위한 분산 버전 관리 시스템입니다. 이를 통해 여러 개발자들이 동시에 작업하면서 버전 관리를 용이하게 할 수 있습니다. 그러나 깃 클론을 한 후 일부 사용자들은 파일이 수정되었음에도 불구하고 '수정된 파일'로 인식되는 문제를 겪을 수 있습니다.
이 문제의 주된 원인은 파일 라인 종료 문자의 차이입니다. 개발자들이 이용하는 운영체제에 따라서 파일의 라인 종료 문자가 달라질 수 있습니다. 예를 들어, 윈도우 운영체제에서는 줄바꿈을 나타내는 라인 종료 문자로 'CRLF(Carriage Return Line Feed)'를 사용하는 반면, 리눅스나 맥OS에서는 'LF(Line Feed)'를 사용합니다. 이와 같은 차이로 인해 깃이 수정된 것으로 인식하는 문제가 발생할 수 있습니다.
이 문제를 해결하기 위해서는 파일 라인 종료 문자를 통일하는 것이 중요합니다. 일부 사용자들은 깃 클론을 한 후 입력된 설정 때문에 이 문제를 겪을 수 있습니다. 이러한 경우 다음의 명령을 이용해 설정을 변경할 수 있습니다.
```
git config --global core.autocrlf true
```
위의 명령은 리눅스나 맥OS에서 깃을 이용할 때, 파일 라인 종료 문자를 'LF'로 설정하도록 합니다. 윈도우 사용자들은 다음의 명령을 이용해 설정을 변경할 수 있습니다.
```
git config --global core.autocrlf true
```
또는 .gitattributes 파일을 이용해서 개별적으로 파일의 라인 종료 문자를 설정할 수도 있습니다. 이 파일에 다음과 같이 설정을 추가하면 됩니다.
```
*.txt eol=lf
```
위의 예시에서는 txt 확장자를 가진 파일들의 라인 종료 문자를 'LF'로 설정하고 있습니다.
깃 클론 후 파일이 수정되었음에도 불구하고 '수정된 파일'로 인식되는 문제는 파일 라인 종료 문자의 차이에서 기인합니다. 이를 해결하기 위해서는 파일 라인 종료 문자를 통일하는 설정을 변경하거나 .gitattributes 파일을 이용해 개별적으로 설정할 수 있습니다. 이러한 방법을 통해 협업 과정에서 발생할 수 있는 오류를 예방할 수 있습니다.
긴문장이 가능하도록 최선을 다해 번역한 것이나, 자연스러운 문장과 다양한 표현은 삽입하기 어렵습니다. 번역은 참고용으로만 사용하시고, 만족스럽지 못하다면 전문 번역가에게 도움을 요청하세요.

반응형
Comments