라즈베리파이를 활용하면서 이것저것 재매난 것들을 만들어 보고 싶다.
예전에 라즈베리파이에 git 저장소를 만들었는데, 다시 하려니까 기억이 안나더라. 나이가 들어서 그런 것 같아 이번에 다시 한번 해결하는 방법을 기록해 두도록 하자.
서버에서 해야하는 일
파일들이 저장되는 장소를 만든다.
.ssh 파일을 받아와서 .ssh/authorized_keys 에 추가한다.
git clone – [폴더명] [폴더명].git
이라는 명령어를 사용해야 하지만, 나는 안 되길래 아래와 같은 명령어를 사용했음
/home/pi 에서 아래와 같은 명령어 실행하기
# git init --bare [폴더명].git
Initialized empty Git repository in /home/pi .ssh/works.git/
폴더가 생성 된 것을 확인할 수 있다.
사용자
ssh-keygen 으로 키 생성하기
ssh 파일을 서버로 보내주기
scp 명령어를 사용해서 간단하게 보낼 수 있다.
본인은 11022 를 ssh 포트로 사용하고 있기 때문에 아래와 같은 -P 옵션을 사용했다.
복사되는 디렉토리 뒤의 / 까지 적는 것을 잊지말자. 이 문제 때문에 한참을 찾아 해맸다.
scp -P 11022 [원본파일명] pi@address:/home/pi/
서버
다시 서버로 돌아와서 보내온 ssh 파일을 등록해서 접속을 허가해 준다
cat [파일명].pub >> ~/.ssh/authorized_keys
라고 입력
사용자가 해야 하는일
이제 사용자가 접속할 수 있는 권한을 얻었다. 이제 remote 저장소로 등록을 하고 난 뒤에 Push 할 수 있다. 프로젝트마다 적어도 한명은 –bare 옵션을 사용해서 Bare 저장소를 만들어야 한다고 하는데, 나는 이게 뭔 소리인지 잘 이해할 수 없었다. 혹시 아시는 분이 좀 알려줬으면 좋겠다.
cd project
git init
echo ‘hello git’ > README
git add .
git commit -m ‘hello’
git remote add origin ssh://git@[서버]:11022/home/git/project.git
git push origin master
이와 같은 명령을 하고 난 뒤에 비밀번호를 입력하고 파일을 자유롭게 올릴 수 있을 것이다.
사용자 2
이제 다른 사용자가 이를 clone 해서 수정하고 Push 할 수 있다.
git clone ssh://git@[서버]:11022/home/git/project.git
cd project
cat README
git commit -am ‘fix’
git push origin master
수고 하셨습니다.
'개발 > 라즈베리파이' 카테고리의 다른 글
라즈베리파이 제로 W 와이파이 및 블루투스 설정 (0) | 2017.09.22 |
---|---|
Linux 에 기본으로 설치되어 있는 Libreoffice 삭제 (2) | 2017.06.15 |
[라즈베리파이] golang 1.6.3 설치하기 (0) | 2016.08.01 |
[라즈베리파이] PHP7 업데이트, 설치하기 (0) | 2016.07.29 |
[라즈베리파이] minidlna 1.1.5 최신버전 설치하기 (0) | 2016.07.23 |