서버에 Git 배포
3425 단어 git
--bare
옵션을 사용하면 됩니다.저장소의 디렉토리 이름은 일반적으로 .git
로 끝납니다.$ git clone --bare my_project my_project.git
Cloning into bare repository 'my_project.git'...
done.
이 명령의 출력은 아마도 사람을 좀 이해하지 못하게 할 것이다.사실
clone
조작은 기본적으로 git init
플러스git fetch
에 해당하기 때문에 여기에 나타난 것은 사실git init
의 출력이다. 먼저 빈 디렉터리를 구축한 다음에 데이터 대상을 전송하는 조작은 아무런 출력도 하지 않고 몰래 막후에서 실행된다.현재 디렉터리에 Git 디렉터리 데이터의 사본이 있습니다.전반적인 효과는 다음과 같습니다.
$ cp -Rf my_project/.git my_project.git
그러나 프로필에 약간의 변화가 있지만 사용자에게는 사용 방식이 똑같아 아무런 영향이 없다.Git 저장소의 필수 원본 데이터만 추출하여 작업 디렉토리를 만들지 않고 해당 디렉토리에 저장합니다.
누드 창고를 서버로 옮기다
누드 창고의 사본이 생기면 나머지는 서버에 놓고 관련 프로토콜을 설정하는 것이다.도메인 이름이
my_project.git
인 서버가 이미 설치되어 있고 SSH를 통해 접근할 수 있다고 가정하면, 우리는 모든 Git 저장소를 git.example.com
디렉터리에 저장할 계획이다.누드 창고를 복사하기만 하면$ scp -r my_project.git [email protected]:/opt/git
이제 서버에 SSH 액세스 권한이 있고
/opt/git
디렉토리를 읽을 수 있는 모든 사용자는 다음 명령을 사용하여 항목을 복제할 수 있습니다.$ git clone [email protected]:/opt/git/my_project.git
만약 SSH 사용자가
/opt/git
디렉터리에 쓰기 권한을 가지고 있다면, 그는 푸시 권한을 가지고 있다.프로젝트 디렉터리에서 /opt/git/my_project.git
명령을 실행하고 git init
옵션을 추가하면 Git는 자동으로 창고 디렉터리의 그룹 권한을 쓰기 가능으로 수정합니다. (주: 실제로는 --shared
다른 동작을 지정할 수 있습니다. 기본적으로 그룹 권한을 쓰기 가능 및 실행 --shared
으로 변경하기 때문에 g+sx
마지막에 얻을 수 있습니다.$ ssh [email protected]
$ cd /opt/git/my_project.git
$ git init --bare --shared
이를 통해 알 수 있듯이 기존의 Git 창고에 따라 누드 창고를 만들고 동료와 SSH 접근권이 있는 서버에 놓는 것이 얼마나 쉬운지 알 수 있다.이제 같은 프로젝트에서 밀접한 협력을 시작할 수 있게 되었다.
주의해야 할 것은 이것은 확실히 소수의 사람들이 연결권을 가진 Git 서비스의 전부를 가설하는 것이다. 서버에 SSH로 로그인할 수 있는 계정을 가입하고 모두가 읽기와 쓰기 권한을 가진 곳에 누드 창고를 두는 것이다.모든 것이 준비되어 있으니 더 이상 필요 없다.
다음 몇 절에서 당신은 어떻게 더 복잡한 설정으로 확장하는지 알게 될 것입니다.이러한 내용은 모든 사용자에게 계정을 만드는 것을 피하고 창고에 공공 읽기 권한을 추가하며 웹 인터페이스를 가설하고 Gitosis 도구를 사용하는 방법을 포함한다.그러나 단지 몇 사람과 비공개 프로젝트에서 합작한다면 SSH 서버와 누드 창고만으로도 충분하다. 이 점을 기억하면 된다.
소형 설치
설비가 적거나 소규모 개발팀에서 Git를 시도하고 싶다면 모든 것이 간단하다.Git 서비스를 설치하는 데 가장 복잡한 점은 계정 관리에 있다.특정 사용자에게 읽을 수 있는 창고가 필요하고 다른 사용자에게 읽기와 쓰기 권한을 주어야 한다면 방문과 허가의 안배가 비교적 어렵다.
SSH 연결
만약 모든 개발 구성원이 SSH로 접근할 수 있는 서버가 있다면, 첫 번째 서버를 가설하는 것은 매우 간단해져서 거의 아무것도 할 필요가 없을 것이다 (지난 절에서 소개한 바와 같이).창고에 대한 더 복잡한 접근 제어가 필요하다면 서버 운영체제의 로컬 파일 접근 허가 메커니즘을 사용하면 된다.
만약 팀의 모든 사람이 창고에 쓰기 권한이 있고 서버에 계정을 만들 수 없다면 SSH 연결을 제공하는 것이 유일한 선택이다.우리는 창고를 공유하는 서버에 SSH 서비스가 설치되어 있고 이를 통해 서버에 접근한다고 가정합니다.
팀의 모든 사람이 방문권을 가질 수 있는 여러 가지 방법이 있다.첫 번째 방법은 모든 사람에게 계좌를 만들어 주는 것이다. 단도직입적이지만 번거롭다.반복 실행
rws
을 하고 모두에게 임시 비밀번호를 설정하는 것은 재미없다.두 번째 방법은 호스트에
adduser
계정을 만들어서 쓰기 권한이 필요한 사람마다 SSH 키를 보내고 git
계정의 git
파일에 가입하는 것이다.이렇게 되면 모든 사람들이 ~/.ssh/authorized_keys
계정을 통해 호스트에 접근할 것이다.이는 제출된 데이터에 전혀 영향을 주지 않습니다. 호스트에 액세스하는 데 사용되는 ID는 제출 객체의 제출자 정보에 영향을 주지 않습니다.또 다른 방법은 SSH 서버가 어떤 LDAP 서비스나 이미 설정된 집중 권한 수여 메커니즘을 통해 권한을 부여하는 것이다.모든 사람이 호스트의 셸 접근권을 얻을 수 있다면, 사용 가능한 SSH 권한 수여 메커니즘은 모두 같은 효과를 얻을 수 있다.
http://git-scm.com/book/zh/%E6%9C%8D%E5%8A%A1%E5%99%A8%E4%B8%8A%E7%9A%84-Git-%E5%9C%A8%E6%9C%8D%E5%8A%A1%E5%99%A8%E4%B8%8A%E9%83%A8%E7%BD%B2-Git
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Heroku H10/503 오류 해결 방법 - 이야기오후 2시 30분까지 내 이해 수준에 따라 배포할 준비가 된 내 코드 를 완성했습니다. 몇 달 전에 플랫폼에 Node.js 앱을 배포하여 을 따르기로 결정했습니다. How to solve Heroku H10 erro...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.