https://www.linux.com/learn/how-run-your-own-git-server


위 글을 참고하였으며

필자는 GCE에 git server를 설치하였다


--- SSH key 생성 및 서버에 등록 ---


# 서버에서 다음을 수행

sudo apt-get install git-core

sudo useradd -m -s /bin/bash git


# 로컬에서 다음을 수행

ssh-keygen 대신 XSHELL에서 RSA 키 생성 (git_rsa_2048) (패스워드는 없이 하자, 그렇지 않으면 git push 할때마다 작성해야함)

내보내기를 통해 git_rsa_2048.pem과 git_rsa_2048.pub 파일을 저장


 - GCE에 SSH public key를 등록 (필자의 다른 포스트에 자세한 방법이 포스팅 되어있음, GCE - Metadata - SSH 키 탭에서 가능)

 - 로컬머신(일반적으로 윈도우즈)에서는 %사용자 디렉토리%/.ssh 디렉토리에, 위 두 파일을 저장해주자


이제 아래 커맨드를 통해 GCE 서버의 git 계정에 접속할 수 있다

ssh -i ~/.ssh/git_rsa_2048.pem git@your-own-server


--- SSH config ---


http://ssaemo.tistory.com/338

위 글을 참고하여, SSH 클라이언트(일반적으로 윈도우즈일 것이다)에서

~/.ssh/config에 ssh host와 identity file을 세팅해주자


config을 작성한 후부터는 -i 옵션 없이 git 계정에 접속할 수 있다

ssh git@your-own-server


ssh가 안될경우, -v 옵션을 붙여서 디버깅해보자

ssh -v git@your-own-server


--- Remote Repository 생성 ---


ssh git@your-own-server 접속


# 서버에서 다음을 수행

mkdir -p /home/git/push_test.git

cd $_

git init --bare


--- local repository 생성 ---


# 로컬에서 다음을 수행

mkdir push_test

cd $_

git init


commit 하기위한 파일을 하나 생성한다 (example: main.py)


git add .

git commit -m "Initial commit"


--- push test ---


git remote add origin git@your-own-server:push_test.git # 경로는 git 홈디렉토리에 있는 디렉토리이다

git push origin master


성공적으로 push 될 것이다

실패한다면 local repo에서 commit을 했는지 확인해보자


git clone git@your-own-server:push_test.git


clone도 잘 작동한다

생각보다 간단하게 git-core 패키지를 통해 git server를 설치할 수 있었다


'Linux' 카테고리의 다른 글

SSH Options, config (SSH 키, 개인 키)  (0) 2018.06.21
Xilinx Gnome-power error  (0) 2018.04.17
[linux] ia32-libs - ubuntu 최신버전 (>=14.04)  (0) 2018.03.28
[Linux] 한글 인코딩  (1) 2018.03.21
[Linux] sudo path 설정방법  (0) 2018.03.20

WRITTEN BY
hojongs
블로그 옮겼습니다 https://hojongs.github.io/