ubuntu에서 로컬 디스크에 git clone 하여 작업 중...

os 재설치를 위하여 해당 폴더를 임시로 윈도우 디스크로 복사(cp -rf )하였다.


cp -rf ~/gitproject /media/$HOME/Windows/backup/gitproject


리눅스 재 설치 후 다시 로컬 디스크에 복사 (역시 cp -rf) 

cp -rf /media/$HOME/Windows/backup/gitproject ~/gitroject


그런데 이렇게 복사를 하면 git에 포함된 submodule에 대한 git 정보가 사라져서 에러를 뿜는다.

그래서 터미널에서 해당 폴더로 이동후 다음을 입력한다.

$ git submodule deinit -f .

이후에 

$ git submodule init

수행하여 초기화를 진행한다.


그리고 git 상태를 보기 위해 git status를 입력하면 붉은 글씨로 모든 파일들이 modified 되었다고 나온다.

$ git status

On branch stable Your branch is behind 'origin/stable' by 1 commit, and can be fast-forwarded. (use "git pull" to update your local branch) Changes not staged for commit: (use "git add <file>..." to update what will be committed) (use "git checkout -- <file>..." to discard changes in working directory) modified: .ackrc modified: .clang-tidy modified: .github/ISSUE_TEMPLATE/bug_report.md modified: .github/ISSUE_TEMPLATE/feature_request.md modified: .github/stale.yml modified: .github_changelog_generator modified: .ycm_extra_conf.py modified: CMakeLists.txt modified: CODE_OF_CONDUCT.md modified: CONTRIBUTING.md modified: CTestConfig.cmake modified: Documentation/Doxyfile.in modified: Firmware.sublime-project

...

실제로 파일이 변경되었는지 확인하기 위해 git diff 명령으로 살펴보면...

$ git diff origin/stable

diff --git a/.ackrc b/.ackrc old mode 100644 new mode 100755


이렇게 파일의 mode가 644에서 755로 변경되었다고 나온다. 이것은 윈도우 파일시스템과 리눅스 파일시스템이 달라서 생기는 문제로 생각되는데 이것때문에 파일을 제대로  tracking 하지 못하는 문제가 있다.

그래서 해결 방법은 다음과 같다.

$ git config core.fileMode false

이렇게 하면 git status에서 딱 변경된 파일만 표시해 준다.




'Computer > git' 카테고리의 다른 글

git Submodule 사용하기  (0) 2019.01.16
git 에 사용자 정보 입력하기  (0) 2018.03.29
git 에서 새로운 브랜치 만들기  (0) 2018.02.02
git 의 오래된 항목 삭제하기  (0) 2018.01.22

+ Recent posts