Git 이용 소스 관리하기

GitHub에 비공개로 올려서 관리하던 트레이딩 관련 파이썬 소스를 개인 NAS에 Git 서버를 구축하여 관리하기 시작하였다. 기존까지 사용하던 GitHub는 한달에 만원의 비용을 친구가 지불하였었다. 인제는 지불의 필요성이 사라졌다. Git 이용 코드를 관리하는 내용은 다음과 같다.

Git 활용 코드 관리

  1. Git 프로그램 설치
  2. Code 받아오기
  3. Git Config 설정
  4. Code Upload, Download
  5. Git 저장소 생성하기
  6. 소스위치

Git 프로그램 설치

제일 먼저 Git 프로그램의 설치가 필요하다. 시뮬레이션이 주용도라면 OS가 상관이 없다. 본인이 사용 중인 OS용 Git을 설치하자. 증권사 API들은 대다수가 MS 윈도우 기반에서 돌아가기 때문에 자동매매를 위해서는 윈도우에 설치해야한다. 본 글에서는 윈도우 기반으로 설명을 한다. 다음의 사이트에서 윈도우 10 64bit용 Git프로그램을 다운받아 설치하도록 하자.

https://git-scm.com

Git 프로그램을 설치하면 윈도우 10에서는 다음과 같은 3개의 app이 생성된다.

  • Git Bash: 리눅스의 명령어 사용 command환경
  • Git CMD: 윈도우의 명령어 사용 command환경
  • Git GUI: 윈도우 GUI환경

본인이 사용하기 편리한 Command 환경의 프로그램을 사용하자. 프로그램을 실행시키면 다음과 같은 콘솔 환경 창이 뜬다.

Git Bash 초기 화면
Git Bash 초기화면

Code 받아오기

코드 받아오기에서 가장 먼저 해줘야 할 일은 소스를 저장할 폴더를 생성하는 것이다. 접근이 편리한 위치에 다음과 같은 명령어로 폴더를 생성하고 이동한다.

$ mkdir 폴더이름(source 추천)

$ cd 폴더이름

다음의 명령어로 저장소를 복제 해온다.

$ git clone ssh://(아이디)@(서버주소):(port)/(경로1)/(경로2)/…/(경로n)

접속에 성공하면 비밀번호를 입력한다. 자동으로 저장소의 소스를 복제 해 온다. 저장소의 소스를 복제해오면 AI-Trading 폴더가 생성되었음을 확인할 수 있다.

Git Config 설정

코드의 업로드 전에 config 설정을 해줘야 한다. 콘솔 창에서 다음의 명령을 수행하여 config 설정을 하자.

$ git config –global user.email “you@example.com”

$ git config –global user.name “your name”

또한 한글로 작성된 코드나 주석 등을 Git에 올리기 위해서는 언어 설정을 해주는 것이 좋다. 언어 설정 방법은 다음의 링크에서 확인하자.

Code Upload, Download

소스가 편집, 저장되었다면 Git은 이를 자동으로 감지한다. 또한 이 폴더의 새로운 파일도 자동 감지한다. 편집 및 저장된 소스의 변동은 다음의 명령을 통해 확인할 수 있다.

$ git status

git status 명령의 결과 예

이 변경(modified)된 소스를 서버에 올리기 위해서는 다음과 같은 절차가 필요하다.

$ git add (개별 파일명) 또는 $ git add . (변경 또는 추가된 전체 파일을 staged 상태로)

$ git commit -m ‘(comment)’

$ git push

위의 절차를 수행하면 변경된 코드를 원격저장소에 전송한다.

다음으로는 원격 저장소의 코드를 가지고 오는 방법을 설명한다. 다음의 명령을 수행한다.

$ git pull

Git 저장소 생성하기

새로운 코드 등을 저장하기 위해 신규 저장소의 생성이 필요한 경우가 있다. 다음과 같은 방법으로 신규 저장소를 생성한다.

먼저 Putty나 Mac의 터미널 등을 이용하여 NAS 서버에 접속한다. putty의 경우 다음 그림과 같이 아이디와 비번을 입력한다. Mac의 경우 다음과 같은 명령을 이용한다.

$ ssh id@NAS주소:port

접속이 되었으면 Git 서버 데이터를 저장할 폴더로 이동한다. 본인의 경우 volume1/GitServer 라는 폴더를 이용하고 있다.

이동이 완료되었으면 신규로 Git 서버 파일을 저장할 폴더를 생성한다.

mkdir 폴더이름

다음으로 위에서 생성한 폴더로 이동한다.

cd 폴더이름

이동한 폴더에서 다음 명령을 수행한다.

$ git init –bare

$ git update-server-info

$ cd ..

$ chown -R 사용자아이디 폴더이름

다음은 클라이언트 단에서 위에 생성한 저장소에 소스를 push하는 방법이다.

$ mkdir 폴더이름

$ git remote add origin ssh://사용자아이디@서버주소:포트번호/volume1/GitServer/생성폴더

$ touch README

$ git add .

$ git commit -m ‘initial commit’

$ git push origin master

소스 위치

파이썬 : volume1/GitServer/AITradingPy

C++ : volume1/GitServer/AITrading

기타 추가 사항

시놀로지에 Git 설치하고 SSH적용하기(비번없이 접속) – RECONES BLOG (wordpress.com)

1 댓글

댓글 남기기

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다