기 존 항목 을 git 창고 에 추가 하기

3297 단어
인터넷 에 만들어 진 Git 창고 가 많아 요. 누 드 라 이브 러 리 부터.
우리 가 해 야 할 일 은 기 존 항목 을 Linux 서버 에 추가 하 는 원 격 창고 입 니 다.
1. linnux 서버 작업
linux 버 전의 영어 사용 Centos7安装git yum install -y git
Git 사용자 가 실행 할 Git 서 비 스 를 만 듭 니 다.
1. 사용자 생 성 gitadduser git
2. 사용자 비밀번호 설정
passwd git
3. 접속 금지 shellvim/etc/passwd git 사용자 의 줄 을 찾 아 수정 합 니 다.
git: x: 1003: 1003:,,:/home/git:/bin/bash 를 git: x: 1003: 1003:,,:/home/git:/usr/bin/git - shell 로 변경 합 니 다.
이렇게 해서 만 듭 니 다.  git 사용 자 는 정상적으로 ssh 사용 git 할 수 있 으 나 로그 인 shell 이 불가능 하여 더욱 안전 합 니 다.
클 라 이언 트 로그 인 인증서 만 들 기
1. 클 라 이언 트 가 비밀 키 와 공개 키 를 만 듭 니 다.
ssh-keygen -t rsa -C "[email protected]"
만 든 후에 사용자 홈 디 렉 터 리 아래 에 .ssh 폴 더 수가 있 습 니 다. 안에 id.rsa 는 비밀 키 입 니 다. id.rsa_pub 는 공개 키 입 니 다.공개 키 안의 내용 은 이따가 사용 해 야 합 니 다.
2. git  서버 RSA 인증 열기
vim/etc/ssh/sshd_config
앞 을 찾 아 라.지 워 진 # 번호
RSAAuthentication yes PubkeyAuthentication yes AuthorizedKeysFile .ssh/authorized_keys
3. git 사용자 의 홈 디 렉 터 리 에 새 폴 더 .ssh 를 만 든 다음 폴 더 에 새 파일 authorized_keyscd/home/git mkdir .ssh cd .ssh vim authorized_keys
4. 클 라 이언 트 의 id.rsa_pub 공개 키 를 파일 authorized_keys 에 한 줄 씩 기록 합 니 다.이것 을 추가 한 후에 중앙 창 고 를 연결 하면 비밀 번 호 를 입력 할 필요 가 없습니다. 공개 키 와 비밀 키 의 인증 방식 을 직접 사용 합 니 다.
git 중앙 창고 만 들 기
1. 창설 git仓库存放目录mkdir/home/git/repositories
 
2. 클 라 이언 트 조작
자신의 운영 체제 에 따라 설치 에 대응 하 는 git 를 다운로드 하 십시오.
1. 프로젝트 에 입장
cd/home/project
2. 창고 초기 화
git init
3. 기 존 창 고 를 누 드 창고 로 내 보 내기 - 현재 작업 디 렉 터 리 가 포함 되 지 않 은 창고
cd ..
git clone --bare project project.git
이 때 홈 디 렉 터 리 에 procject. git 디 렉 터 리 를 만 들 고 procject. git 디 렉 터 리 를 Liux 서버 git 창고 의 디 렉 터 리/home/git/reposcories 로 이동 합 니 다. 
4. 프로젝트 디 렉 터 리 에 원 격 서버 추가
cd/home/project
git remote add origin [email protected](서버 IP 주소):/home/git/repositories/project. git
 
3. linux 서버 조작
1. 갈고리 파일 만 들 기
갈고리 파일 로 컬 푸 시 코드 를 추가 할 때 수 정 된 내용 을/home/git/reposcories/procject. git 에 제출 합 니 다.
갈고리 파일 은 자동 으로/data/websibe/procject 로 넘 어가 코드 를 끌 어 당 겨 웹 사이트 코드 를 다시 방문 하면 업 데 이 트 됩 니 다.
vim/home/git/repositories/project.git/hooks/post-receive
갈고리 파일 내용
#!/bin/sh unset GIT_DIR   NowPath=`pwd` DeployPath="/data/website/project"  cd $DeployPath git pull origin master   cd $NowPath exit 0
그리고 갈고리 파일 에 실행 권한 을 추가 합 니 다.
chmod a+x/home/git/repositories/project.git/hooks/post-receive
창 고 를 사이트 아래로 복제 하 다.
cd/data/website/
git clone/home/git/repositories/project.git
 
창고 와 프로젝트 의 소속 그룹 과 소속 사용 자 를 git 로 수정 하지 않 으 면 갈고리 파일 은 git 사용자 로 실 행 됩 니 다. 프로젝트 에 들 어간 후 pull 은 파일 수정 권한 이 없습니다.
chown -R git:git/home/git/repositories/project.git
chown -R git:git/data/website/project
 
4. 클 라 이언 트 조작
1. 파일 내용 을 수정 하여 제출 을 시도 한 후 push 를 창고 로 보 냅 니 다.
vim test.php
git add .git commit -m 'add test.php'
git push origin master
2. 조작 분기 설정 (origin master 생략 가능)
 git branch --set-upstream-to=origin/master
3. 원 클릭 pull 과 push
git add -A && git commit -m 'test' && git pull && git push

좋은 웹페이지 즐겨찾기