
나는 이것에 대해 머리를 쥐어뜯고 있었고 해결책이 없는 가능한 결론에 도달했습니다. 첫째, 나의 딜레마.
프로그래밍 방식으로 저장소를 만들 수 있는 프로젝트가 있습니다. 저장소 설명을 편집하고 기본 분기 &c를 설정할 수 있습니다. 이건 괜찮아.
git daemon
또한 생성된 모든 저장소가 보관되는 폴더를 제공하는 데도 사용하고 있습니다 . 여기서 문제가 발생합니다.
저장소를 복제할 수 있지만 복제된 저장소의 .git
내용이 원본 저장소와 일치하지 않습니다.
내가 생각할 수 있는 유일한 것은 내가 그럴 때이다.창조이 저장소에서는 내 시스템의 git 프로세스를 사용하고 있지만 복제할 때는 git daemon
의 프로세스를 사용하고 있습니다... 그게 말이 되는지조차 모르겠고 검색에 몇 시간을 투자해도 아무것도 나오지 않았습니다.
참고로 활성화하기 위해 실행하는 명령은 다음과 같습니다 git daemon
.
git daemon --reuseaddr --port=9999 --base-path=/Users/me/repos/ --export-all --verbose --enable=receive-pack --informative-errors --detach
다음은 복제 명령의 예입니다.
git clone git://localhost:9999/me/test18.git
저장소를 생성하기 위해 실행하는 명령은 다음과 같습니다.
git init
git remote add origin git://localhost:9999/me/repo.git
git symbolic-ref HEAD refs/heads/magic
# more stuff
이것들은 작동합니다. 나는 단지 git daemon
내 리포지토리를 있는 그대로 제공하면 됩니다.
.git/config
다음은 내가 만든 저장소의 내용에 대한 예입니다 .
[core]
repositoryformatversion = 0
filemode = true
bare = false
logallrefupdates = true
ignorecase = true
precomposeunicode = true
[remote "origin"]
url = git://localhost:9999/me/repo.git
fetch = +refs/heads/*:refs/remotes/origin/*
[branch "coolerbranch"]
remote = origin
merge = refs/heads/coolerbranch
복제된 동일한 저장소는 다음과 같습니다.
[core]
repositoryformatversion = 0
filemode = true
bare = false
logallrefupdates = true
ignorecase = true
precomposeunicode = true
[remote "origin"]
url = git://localhost:9999/me/repo.git
fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
remote = origin
merge = refs/heads/master
보시다시피 [branch ...]
섹션이 일치하지 않습니다.
반대로, 내가 찾지 못한 또 다른 것이 있다면 git daemon
그것에 대해 듣고 싶습니다. Github는 몇 년 전부터 자체적으로 작업을 진행해 왔지만 포기했습니다.
또한 원래 이 질문을 SO에 게시했지만 다른 SE 사이트를 추가로 검색한 후 SF에 더 많은 git-daemon
질문이 있다는 것을 깨달았습니다.
저장소를 복제해도 구성은 복사되지 않습니다. 구성은 대부분 컴퓨터, 사용자 또는 디렉터리에 대해 로컬로 수행됩니다.
이 지식이 없으면 복제 시 git이 초기 구성을 동기화하도록 하는 방법이 있을 것이라고 가정했습니다. Git의 기본값은 서버에서 재정의할 수 없으며 사용자만 재정의할 수 있습니다.
아마도 git은 언젠가 이 옵션을 허용할 것입니다. 아마도 그렇지 않을 것입니다. 아 글쎄요.
답변1
복제된 .git이 서버의 .git 내용과 일치해야 한다고 생각하지 않습니다. 서버를 설정하려면 책의 지침을 따르는 것이 좋습니다.https://git-scm.com/book/en/v2/Git-on-the-Server-Getting-Git-on-a-Server.