[Git][CentOS 7] 나만의 Git 서버 만들기

2017-03-12 16:29:06

워드프레스를 이용하여 아내의 사이트를 만들기 시작했는데, 아직 진행된 것은 도메인 구매 정도?

IDE로는 phpStorm 을 사용하기로 했는데 ftp 를 이용하여 원격지의 소스를 다운로드, 업로드, 동기화할 수도 있는데 svn이나 git 에 익숙한 나로서는 뭔가 좀 weird 하게 느껴졌다. deployment 개념도 좀 다른 것 같고…

그래서 본격적으로 프로젝트를 시작하기에 앞서 Git 으로 형상관리를 하는게 좋을 것 같아서 설치하려고 하고, 이 글은 설치를 진행하면서 동시에 작성하는 것이라 중간 중간 오류가 나오는 모습을 볼 수도 있을 것이고 아닐 수도 있다.

<구조> CentOS 7(원격지), 로컬 머신(나의 경우 맥북) 1\. 웹서버에 호스팅 되고 있는 실제 소스들 => CentOS 7 /home// 2\. git bare repository 로 사용할 디렉토리 => CentOS 7 /home/git/repo/ 3\. 로컬 머신에서 코딩할 디렉토리 => macbook /Users//phpStormProject// <과정 요약=""> 1\. CentOS와 맥북에 모두 git 설치 2\. CentOS 에서 git 전용 계정 생성 3\. git 계정으로 로그인하여 /home 디렉토리 아래 git 이라는 이름의 디렉토리를 생성 4\. /home/git/repo/ 디렉토리를 만들고 /home/git/repo 에서 .git 으로 끝나는 빈 디렉토리 생성(나의 경우에는.git) 5\. 해당 디렉토리에 이동하여 `$ init --bare --shared` 명령 실행 **\------------------------- 여기까지만 해도 (소스가 없는 상태라면) git 으로 형상관리를 할 수 있다. ------------------------------** 6\. git 계정으로 로그인한 상태에서 /home/ 디렉토리로 이동(여기에는 워드프레스 코어 파일들과 소스들이 있고, 웹에 호스팅되고 있다.) 7\. /home// 에 위치한 상태에서 `$ git init` 명령 실행 8\. /home// 에 그대로 위치한 상태에서 `$ git add * && $git commit -m "" && git add remote origin ssh:///home/git/repo/.git && git push origin master` 명령 실행 9\. 맥북에서 프로젝트를 clone 해올 경로(macbook /Users//phpStormProject/)로 이동한후 `$ git init && **$ **git add remote origin ssh:///home/git/repo/.git && git push origin master` 명령 실행 10\. 디렉토리 유지한 상태에서 **$ git pull remote origin master** 명령 실행 11\. 맥북에서 소스 수정 후 pull, commit, push 를 하면서 git 을 잘 쓰면 된다. 12\. CentOS 7 에서 웹 호스팅 되는 소스의 변경을 반영하려면 /home// 으로 이동해서 **$ git pull remote origin master** 를 실행해주면 됨 **\-- 여기까지는 요약이므로 위에서 나온 명령들은 하나씩 하나씩 실행하기.** **\-- ssh 키는 로컬머신(맥북)에서 생성하고 서버로 업로드 해야하는게 권장되는 방법인 것 같다.** \-- 아래부터는 참고 자료. 진행하면서 이것저것 해본 것을 정리하지 않은 것. **CentOS7** 1\. 패키지 관리자 업데이트(갱신) : 업그레이드 아님 `# yum update` 2\. git 패키지 검색 및 설치 `# yum list git` `# yum install -y git` ![][link0] 3\. 설치가 끝나면 git 계정 설정 `# git config --global user.name ""` `# git config --global user.email ""` 4\. git 사용자 추가 및 비밀번호 설정 `# useradd git` `# passwd git` ![][link1] 5\. git 사용자로 사용자 전환 `# su - git` 6\. RSA 암호화 알고리즘 이용하여 키 생성(SSH 접속을 위해서) : **※ <나중에 추가="">키는 서버가 아니라 로컬(다른 컴퓨터, 코딩을 할 컴퓨터)에서 생성해야하고 서버로 업로드 해야함.** `$ cd ~` `$ ssh-keygen -t rsa` ![][link2] 7\. 키가 생성되었음을 확인 ![][link3] 8\. Git 으로 버전 관리할 디렉토리를 생성하거나 이미 존재하고 있는 디렉토리에서 '*.git' 의 이름으로 디렉토리를 생성하고 그 디렉토리로 이동한 후 bare repository 로 초기화해준다. ==> **bare repository 는 다른 곳에서 관리해주는 것이 좋음( 난 최종적으로 /home/git/repo/ 에다가 만들었음)** \----------- 여기까지가 Git 서버에서 해야할 것들을 한 것 같다. ------------------- 9\. 버전 관리할 소스파일들의 상위 경로로 이동하여 초기화하고, 작업사본(working copy)를 추가하고 commit 해주자. `$ cd /home/` `$ git init` `$ git commit -m "first commit" -a` 여기까지 했을 때 이름과 이메일을 설정하지 않아서 오류가 뜬다. 3번 단계에서 설정할 땐 root 계정으로 로그인한 상태여서 git 계정으로 하고 있는 지금은 그 설정이 적용되지 않는 것 같다. 즉, 리눅스 계정별로 git의 유저이름, 이메일주소 등을 따로 설정/관리할 수 있다. 다시 리눅스 계정 git 이 사용할 이름과 이메일 주소를 다시 설정한다. (리눅스 계정 git 이라는 이름의 계정이 로그인한 상태) `$ git config --global user.name ""` `$ git config --global user.email ""` 10\. 다시 커밋을 해보자. `$ git commit -m "first commit" -a` 아래는 그 실행 결과 : 커밋이 잘 되었다. \--- 작성중.... --- 음.. 8번과정까지가 git server 로서 해야할 일들인 것 같다. 음.. 지금은 phpStorm이 설치된 컴퓨터가 없으니 집이나 회사에 가서 마저 해보아야할 듯... 일단 여기까지... \--- 이어서 작성중 --- 집으로 돌아와 phpStorm 이 설치되어있는 맥북을 로컬 머신으로 사용. < CentOS 에서 실행 > `mkdir -p /home/git/repo/.git` `cd /home/git/repo/.git` `git init --bare --shared` < CentOS , Macbook 두 군데 모두 동일하게 실행 > `git remote add origin` `ssh://git@:/home/git/repo/.git` [link0]:https://t1.daumcdn.net/cfile/tistory/2127504158C5011E0E [link1]:https://t1.daumcdn.net/cfile/tistory/263AD14658C504061D [link2]:https://t1.daumcdn.net/cfile/tistory/243D433858C5053D13 [link3]:https://t1.daumcdn.net/cfile/tistory/2703843958C505820D

Comments