2017-02-10 15 views
0

git을 사용하여 매주 일부 파일을 백업하는 스크립트를 작성하려고합니다.Git/stash로 파일을 완전히 새로 변경하지 말 것

  1. CD를 변경
  2. 체크 아웃
  3. 스크립트를 실행 분기 현재 파일과 폴더 전체를 덮어 쓰도록 할 예정 로컬 디렉토리에 다음과 같이
    내 스크립트의 구조는
  4. git add --all
  5. git push

다음은 문제입니다. 덮어 쓰기를 수행하면 대부분의 파일이 동일해야합니다. 따라서 리모컨으로 밀어 넣은 후에는 어떤 방식 으로든 변경된 것으로 표시하면 안됩니다.

그러나 내가 푸시 할 때 변경되지 않은 파일 (따라서 동일한 복사본으로 덮어 쓴 파일)은 숨겨진 상태로 볼 때 완전히 새로운 것으로 취급됩니다.

아무도 이런 문제가 발생하기 전에/원인을 알 수 있습니까?

+0

당신이해야 할 일은 무슨 일이 일어나고 있는지 이해하기 위해 파일을 diff하는 것뿐입니다. – jbu

답변

0

두 가지 가능한 원인은 다음

  • 다른 권한 (644 또는 755)
  • 다른 EOL (라인 단부)

    git -c color.diff.whitespace="red reverse" diff -R -- afile 
    
  • : 하나 개의 변경된 파일의 DIFF를 점검

Check alsotext=auto.gitattributes 파일

git config --global core.autocrlffalse으로 설정되어 있는지 확인하십시오 (로컬에 git config autoocrlf이 없습니다).
파일 승인을 위해 git config --global core.filemode false을 (를) 사용할 수 있습니다.

그런 다음 checkout/override/add/commit 및 push 시퀀스를 다시 시도하십시오.