라즈베리파이를 활용하면서 이것저것 재매난 것들을 만들어 보고 싶다.
예전에 라즈베리파이에 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

수고 하셨습니다.

반응형

+ Recent posts