기 존 항목 을 git 창고 에 추가 하기
우리 가 해 야 할 일 은 기 존 항목 을 Linux 서버 에 추가 하 는 원 격 창고 입 니 다.
1. linnux 서버 작업
내
linux
버 전의 영어 사용 Centos7
安装git
yum install -y git
Git 사용자 가 실행 할 Git 서 비 스 를 만 듭 니 다.
1. 사용자 생 성
git
adduser git 2. 사용자 비밀번호 설정
passwd git
3. 접속 금지
shell
vim/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_keys
cd/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
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.