문제

나는 git/dcvs 개념을 이해하는 데 어려움을 겪고 있습니다. 다음은 다음과 같습니다.

  1. 나는 GIT 프로젝트를 만들어 SVN Repo에서 가져 왔습니다.
  2. 나는 약간의 커밋을했다
  3. 나는 무언가를 실험하고 싶었 기 때문에 라인을 만들었습니다. 상수 업데이트
  4. 나는 전환했다 상수 업데이트분기, 일부 파일을 이동하고 다른 파일을 삭제하고 더 많은 것을 추가했습니다.
  5. 나는이 지점에 헌신했다
  6. 이제 나는 사용을 사용하여 마스터 지점으로 전환하려고합니다 git checkout master
  7. 이 오류가 발생했습니다. 오류 : 'src/groovy/constants.groovy'에 로컬 변경이 있습니다. 분기를 전환 할 수 없습니다.

DCV에 대한 나의 이해는 파일을 커밋하는 한 일부 지점이 다른 파일보다 파일보다 약간 또는 적은 파일을 가지고 있더라도 분기를 마음대로 전환 할 수 있다는 것입니다. 나는 헌신을 시도했다 git commit -a 그리고 마스터 브랜치로 전환하지만 같은 오류가 있습니다.

부수적으로, 내가 git을 약속 할 때, LF는 CRLF로 대체 될 것이라고 경고하고 일부 후행 공백에 대해 경고합니다. 내가 커밋 한 후에 git status 그리고 많은 파일이 항상 나타납니다 #modified ....

이것은 git/와 관련이 있습니까?, 아니면 무슨 일이 일어날 지 올바르게 이해하지 못합니까? 마스터 지점으로 전환하고 싶습니다 내 변화를 잃지 않고 다른 지점에서.

도움이 되었습니까?

해결책 3

나는 문제를 해결했다 내 사전 커밋 후크를 해킹합니다 (이 라인을 댓글을 달았습니다 .git/hooks/pre-commit a #):

#       if (/\s$/) {
#       bad_line("trailing whitespace", $_);
#       }

다른 팁

현재 지점에 구축되지 않은 변경 사항이있는 동안 분기를 변경하기위한 Git-Stash 조회.

당신은 이것이 어떻게 작동 해야하는지에 대한 당신의 생각에 맞습니다.

그러나 GIT가 라인 엔딩에 문제가있는 것처럼 들리며 모든 파일이 그렇지 않은 경우에도 모든 파일이 수정된다고 생각합니다. Windows에서는 git을 사용하지 않지만 CRLF 처리 작업을 수행하기 위해 "Core.AutoCRLF"옵션을 제안하려고했습니다. 그러나 다음 블로그 항목은 이것이 좋은 생각이 아닐 수도 있음을 나타냅니다. http://weierophinney.net/matthew/archives/191-git-svn-tip-dont-us-core.autocrlf.html

사용자 디렉토리에있는 .gitconfig 파일에서 다음 옵션을 사용하십시오.

Core] autocrlf = true

그리고 그것은 문제를 해결할 것입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top