(Windows) 네트워크 공유에 저장된 저장소가 필요합니다. 나는 리눅스를 사용하고 CIFS로 마운트 된 네트워크 공유를 가지고있다. 내 동료는 Windows xp를 사용하고 네트워크 드라이브를 네트워크 드라이브로 자동 할당합니다 (ActiveDirectory에서 어떻게 든).네트워크 공유 폴더에있는 GIT 저장소의 동시성
동시성 문제없이 두 컴퓨터의 repo를 사용할 수 있는지 궁금합니다.
나는 이미 테스트를 마쳤으며, 결국은 복제를 할 수 있지만, 같은 repo (push/pull)를 동시에 사용하면 어떤 일이 벌어 질지 걱정된다.
git FAQ에는 네트워크 파일 시스템 (및 SMBFS의 일부 문제)에 대한 참조가 있지만 네트워크/서버/Windows/Linux에서 잠긴 파일이 있는지 확실하지 않습니다. 확실히 거기 없다.
그래서, 서버없이 네트워크 공유에 아무런 문제없이 git repo를 사용하는 사람이 있습니까?
는알렉스에게,
PS 감사 : 나는 주식으로 서버에 액세스 할 수 없기 때문에, HTTP 서버 (또는 자식 - 데몬)을 사용하지 않도록합니다. 또한 우리는 하나에서 다른 것으로 밀어 넣을 수는 있지만 백업을 위해 공유에 코드/저장소가 있어야합니다.
업데이트 :
내 걱정은 네트워크 오류의 가능성에 대해 수 없습니다. 그럼에도 불구하고, 우리는 필요한 브랜치를 로컬에 갖게 될 것이고 소스를 컴파일 할 수있게 될 것입니다.
그러나 우리는 대개 매우 자주 커밋하고 자주 리베이스/병합해야합니다. 필자의 관점에서 볼 때 가장 좋은 옵션은 공유에 중앙 저장소를 두는 것입니다 (백업이 보장되므로). 복제본을 복제하고 리베이스하는 데 사용합니다.
그러나 우리가 종종 이렇게하고 있다는 사실 때문에 파일/repo 손상에 대해 두려워하고 있습니다. 동시에 발생하면 우리는 동시에 밀고 당깁니다. 일반적으로 을 우리는 원격 저장소에 액세스 할 때마다 서로 매핑 할 수 있지만 :) 컴퓨터/네트워크가 보안을 유지하는 것이 좋습니다.
그리고 GIT는 내부 메카니즘을 가지고 있기 때문에 (누군가 당신의 레포지 중 하나를 누를 수 있기 때문에), 아직 결정적인 것을 발견하지 못했습니다.
업데이트 2 :
공유 드라이브에있는 REPO는 작업 복사본을 포함하지 않는하는 베어의 repo 될 것이다.
알렉스 질문에 감사드립니다. 저는 비슷한 상황에 직면하고 있습니다. 매우 도움이되었습니다. 몇 가지 추가 사항 : windows와 linux exe는 네트워크 공유를 통해 동일한 베어 레포에서 작동 할 것이기 때문에 두 버전 모두 동일한 버전의 git을 사용하고 있습니다. 이론적으로 버전간에 약간의 차이가있을 수 있습니다. . 아마도 당신이 염두에 두어야 할 플래그 일 것입니다. –
참조 : http://stackoverflow.com/questions/1489542/are-there-any-concurrency-issues-in-backing-up-git –
(으)로 이동하여 동시 사용자 수를 1로 제한하는 것이 유용 할 수 있습니다. 폴더에 대한 고급 공유 옵션 – Omar