2012-01-31 2 views
2

myrepo/.git/refs/remotes에 빈 폴더가 있습니다. 그들의 목적은 무엇입니까?.git 폴더의 빈 "원격"폴더의 용도는 무엇입니까?

그들은 과거에 사용 된 원격 이름에 매핑되는 것처럼 보입니다. 그렇다면 삭제시 영향은 무엇입니까?

삭제하지 않으면 폴더와 같은 이름의 리모컨을 추가 할 때 어떤 영향이 있습니까? 그게 문제가 되겠습니까?

답변

1

ProGit on "Git Internals"는 언급 : 원격를 추가하고 그것을 누르면

이 망할 놈의 저장 값은 당신이 마지막 심판/리모트 디렉토리에 각 지점에 대해 해당 원격으로 밀었다.

예를 들어, 당신은 그것을 원격 origin 전화를 추가하고 master 분기를 밀어 수 있습니다

$ git remote add origin [email protected]:schacon/simplegit-progit.git 
$ git push origin master 
Counting objects: 11, done. 
Compressing objects: 100% (5/5), done. 
Writing objects: 100% (7/7), 716 bytes, done. 
Total 7 (delta 2), reused 4 (delta 1) 
To [email protected]:schacon/simplegit-progit.git 
    a11bef0..ca82a6d master -> master 

을 그런 다음 origin 리모콘의 master 분기 마지막으로 무엇인지 볼 수 있습니다

$ cat .git/refs/remotes/origin/master 
ca82a6dff817ec66f44342007202690a93763949 
: 당신은 refs/remotes/origin/master 파일을 확인하여, 서버와 통신

원격 참조는 분기 (refs/heads 참조)와 다른 점은 주로을 체크 아웃 할 수 없다는 점입니다.
Git은 북마크로 그 지점이 서버에 있었던 마지막 알려진 상태로 이동합니다.

나는 (그것은 단지 선언 리모컨에서 모든 것을 다시 반입 할 다음 git fetch을 의미 것)을 자식 데이터베이스의 내부 구조 무엇인지에 하위 폴더를 추가하는 것이 좋습니다 않을 것이다, 그러나 그것의 내용을 제거하는 것이 안전합니다. Pro-Git chapter on the refspecs으로
는 언급 : 자동 git remote add 명령에 의해 작성되는 기본 경우

가, 힘내 서버 refs/heads/ 아래에있는 모든 참조를 가져와 로컬 refs/remotes/origin/에 기록합니다. 서버의 master 지점이있는 경우
그래서, 당신은을 통해 로컬로 해당 분기의 로그에 액세스 할 수 있습니다

$ git log origin/master 
$ git log remotes/origin/master 
$ git log refs/remotes/origin/master 

그들은있어 모두 해당, 힘내 심판에 각각 확장하기 때문에/리모트/원점/마스터.

관련 문제