2017-11-13 13 views
2

git에서 symlink가 처음 작동 할 때 심볼릭 링크가 작동하지 않는 프로젝트를 git에 가지고 있습니다. 나는 그들이 제대로 기호 링크를 만든 것을 볼 수 있습니다. 내가 심볼릭 링크를 제거하고 직접 만들면, 자식은 심볼릭 링크와 동일한 것으로 간주됩니다.git에서 가져온 경우 symlink가 인식되지 않습니다

git 형식의 심볼릭 링크가 작동하지 않도록 Linux 또는 Git에 설정되어 있습니까?

이 명령은 심볼릭 링크를 만드는 데 사용 :

ln -s /absolute/path/to/dest symlink-name 

원래 맥북에 만들었지 만했다

  • 심볼릭 링크 몇 가지 추가 정보 자식이 동일로 (리눅스에서) 내 새로 생성 된 심볼릭 링크를 볼 수 있기 때문에 , 나는 이것이 문제인지 의심 스럽다.
  • 처음 심볼릭 링크를 가져올 때, 심볼릭 링크는 리눅스에서 작동하지 않지만 다른 심볼릭 링크에서는 작동합니다.
  • 심볼릭 링크를 삭제하고 다시 작성하여 수정 한 후에 git은 심볼릭 링크를 동일하게 간주하고 나중에 끌어 오기에서 재정의하지 않습니다.
  • 모든 심볼릭 링크는 .phar 파일입니다.

    -rw-rw-r--. 1 vagrant vagrant 28 Nov 13 09:01 dep 
    -rw-rw-r--. 1 vagrant vagrant 28 Nov 13 09:01 drupal 
    -rw-rw-r--. 1 vagrant vagrant 20 Nov 13 09:01 drush 
    -rw-rw-r--. 1 vagrant vagrant 32 Nov 13 09:01 drush.complete.sh 
    -rw-rw-r--. 1 vagrant vagrant 29 Nov 13 09:01 drush.launcher 
    -rw-rw-r--. 1 vagrant vagrant 24 Nov 13 09:01 drush.php 
    -rw-rw-r--. 1 vagrant vagrant 33 Nov 13 09:01 php-parse 
    -rw-rw-r--. 1 vagrant vagrant 26 Nov 13 09:01 phpunit 
    -rw-rw-r--. 1 vagrant vagrant 22 Nov 13 09:01 psysh 
    

    내가 수동으로 제거하고 dep 심볼릭 링크를 다시 만들 경우, 반면,이 나타납니다 :

  • 리눅스 기계는 7

일반 파일로 ls -lah 목록 심볼릭 링크를 사용하여 우분투 16.04 가상 코어를 실행 바르게. 힘내는 여전히 이것을 똑같은 것으로보고 변경하지 않았다.

lrwxrwxrwx. 1 vagrant vagrant 28 Nov 13 09:33 dep -> ../deployer/deployer/bin/dep 

변경 권한 중 하나를 수정하지 않습니다, 깨진 심볼릭 링크에 lrwxrwxrwx-rw-rw-r-- 형성한다.

도움을 주시면 대단히 감사하겠습니다.

+0

"작동하지 않는다"는 것은 무엇을 의미합니까? 그들은 어떻게 실패합니까? 'ls'는 무엇을 보여줍니까? 특수 문자가 있습니까? –

+0

@EdwardThomson 필자는 그러한 정보를 포함하도록 게시물을 편집 했으므로 정보 제공을 고려하지 않았기 때문에 물어 보았습니다. –

+0

왜'\ absolute \ path'라고 쓰시나요? '\'는 Linux에서 경로 구분자가 아닙니다. –

답변

2

구성 파일 중 하나가 에서의 설정을 core.symlinks으로 설정했습니다. 이 설정 위치를 찾으려면

for location in global system local; do 
    git config -l --$location |& grep -q symlinks && echo $location 
done 

전역, 시스템 또는 로컬 위치에 설정되었는지 여부를 출력합니다.

글로벌 위치

시스템 위치 /etc/gitconfig 일반적이며, 통상적 $HOME/.gitconfig이고 로컬 위치는 일반적으로 현재의 저장소 .git/config이다.

해당 행을 삭제하면 Git에서 심볼릭 링크를 제대로 생성 할 수 있습니다.

+0

'show-origin'은 유효한 옵션이 아닙니다 (git 1.8.3.1 사용) –

+0

맞아요, 그게 더 새로운 설정입니다. 구성 위치를 나열 할 일부 셸이 업데이트되었습니다. –

+0

내 로컬 설정에서 SourceTree가 자동으로 Windows 컴퓨터에서 false로 설정하는 것처럼 보였지만 Mac에서는 설정이 적용되지 않습니다. –