[CentOS] CentOS7 깃 설치 및 로컬 세팅

초기 설치 환경

서버

  • Centos7
  • Nginx
  • MySQL5.7
  • PHP7.1

로컬

  • Homestead

Git 설치

원격 저장소 만들고 ssh 접속하여 root권한으로 변경

# su root

yum을 이용해서 git 설치

# yum install git-core

yum을 이용해서 git 설치

# yum install git-core

설치된 영카트 디렉토리로 이동

# cd /data/web_htdocs/

깃 초기화

# git init

파일 상태를 확인해 깃이 잘 설치되어 있는지 확인

# git status

전역 사용자 등록(원격 저장소에 있는 아이디와 메일이 일치하도록 설정)

# git config --global user.name "사용자 이름"
# git config --global user.email "사용자 메일"

원격 저장소 url을 복사하여 git에 연동

# git remote add origin `원격 저장소 url`

로컬 소스트리 클론

원격 저장소 url 복사

# git remote add origin `원격 저장소 url`

설치할 디렉토리 경로 맞춘 뒤 클론

# git remote add origin `원격 저장소 url`

로컬 세팅

Homestead.ymal 파일 열고 site 부분에

map: 로컬 도메인 주소
to: vagrant 경로 추가
$ vagrant reload --provision
$ sudo service nginx restart
// (nginx 백업 필수 설정 다시 해줄것!)

host 파일에 로컬주소 추가(관리자권한으로 실행)
C:\windows\system32\drivers\etc

실서버 디비 백업

$ mysqldump -p db명 > 저장할 파일이름.sql

해당 파일 찾아서 local DB인 Homestead에 넣어주기
symlink(): Protocol error 에러 뜰경우

Git Bash 를 관리자 권한으로 실행 후

$ php artisan storage:link

또는 관리자 권한으로 실행 후

$ vagrant up

한 다음 새로고침 해볼것

배포 해보기

로컬에서 소스 수정 후 commit, push 하고 쉘 접속하여 수정 부분 받기

$ cd /data/web_htdocs/
$ git pull

error cannot open .git/fetch_head permission denied 에러 날경우 .git 파일의 권한이 root 여서 오류남, 일반 계정으로 변경 해야함, 루트 계정으로 접속

$ su root
Password: 패스워드 입력
chown -R webapp:webapp /data/web_htdocs/.git
ls -al 해당 파일 변경해준 권한인지 확인
exit

다시 git pull, 그래도 안된다면

$ git pull origin master

또는

$ git branch --set-upstream-to=origin/master master
$ git pull
updated_at 11-12-2019