(Ubuntu 환경) 로컬 디렉토리(비어있지 않음)가 있는데 이를 git 원격 라이브러리로 바꾸고 싶습니다. 어떻게 해야 하나요?
추신: 저는 git 라이브러리 관리자이고 다른 사람에게 라이브러리 권한을 할당하고 싶습니다. 인터넷에서 일부 튜토리얼을 읽었지만 잘 이해가 되지 않습니다.
상대적으로 어리석은 방법이 있습니다. 먼저 gitolite-admin/conf/gitolite.conf에 라이브러리를 생성하고 권한을 할당한 다음 서버에 푸시하고 로컬로 다운로드하고 파일을 복사한 다음 서버에 푸시합니다. 이 방법은 잘 안되네요. 다른 방법은 없나요?
그냥 원격 라이브러리가 되는 것은 어렵지 않습니다. Git에서 지원하는 4가지 전송 프로토콜을 모두 사용할 수 있습니다.
file://
로컬(LAN 파일 공유 시스템)용입니다. 간단하고 바로 사용할 수 있지만 권한 분할은 불가능합니다.git://
특별한 데몬 프로세스를 실행한 후 특정 포트 번호를 통해 다른 사람이 액세스하도록 허용하는 것은 어렵지 않습니다. 그러나 일반적으로 읽기에만 사용됩니다. 일단 쓰기 작업이 열리면 주소를 아는 모든 사용자가 읽기/쓰기가 가능하므로 기본적으로 안전하지 않습니다.ssh://
이것은 더 일반적으로 사용되며 물론 가장 안전합니다. SSH 위에 인증 계층을 설정하면 gitolite 등의 프로그램을 나타내는 매우 복잡한 권한 배포가 가능합니다. 그러나 구성은 매우 복잡하며 SSH 프로토콜에 대한 심층적인 이해가 필요합니다. ssh의 또 다른 단점은 익명 액세스를 달성할 수 없다는 것입니다. 물론 오픈 소스가 필요하지 않다면 괜찮습니다. 또는 git 프로토콜과 함께 사용하세요.http(s)://
설정은 쉽습니다. http 서버를 설정하고 서버 루트 경로에 git repo를 넣은 다음post-update
후크를 구성하면 됩니다. 고급 Git 서비스는 Github와 같이 모두 http(s) + ssh 두 갈래(http가 느림)입니다. 조건이 맞다면 Gitlab을 사용해 보는 것을 추천하지만, Rails를 배포하는 능력이 필요하고 상당히 복잡합니다(효과는 굉장합니다).간단한 소개입니다. 각각의 구체적인 작업 과정은 몇 마디로 명확하게 설명하기 어렵습니다. 먼저 무엇을 사용할지 생각해보고 여기서부터 시작하세요.