지금 쓰고 있는 책이 있는데, 레이텍을 이용해서 사용하고 있으며, 전체 소스와 이미지 파일 데모 파일등 모두 리눅스 서버에 인스톨 되어 있는 subversion을 이용하여 관리하고 있다. 물론 trac하고 연동도 되어 있고... 앞의 글에서 언급했었지만, 이 리눅스 서버가 회사 네트웍 안에 있으므로 회사 외부에서는 이를 연결하기 위해서는 항상 VPN을 이용해야 한다. 가끔 회사 일 때문에 외근 나오거나 하게 되면, 인터넷이 안되면 commit을 할 수가 없어서 너무 불편했다. 그래서 생각한게 git와 갈은 종류인 분산 환경 하에서 SCM(Software Configuration Management)이다. 생각 난 김에 일을 저지르기로 마음먹고 git와 TortoiseGIT를 인스톨 하고 막막했다... 어떻게 써야 할지 감이 잘 안 잡혀서리...
지금은 일단 간단하게 내가 사용하던 소스를 최초로 git에 commit 했는데, 이걸 하는 것도 상당히 헷갈렸다. 일단 subversion과 비교해 보면, subversion의 경우 서버에 repository를 만들고 가지고 있던 소스를 서버로 import하고 다시 서버로부터 파일을 check out 하고 부터 버전 관리가 시작된다.
즉 subversion의 경우
1. 서버에 repository 만들기
2. 서버로 소스를 import 하기
3. 서버로부터 소스를 check out 하기
subversion의 메뉴얼을 읽어 보면 알겠지만, 서버에 소스를 import 하기 전에 보통 trunk, branches, tags, releases등의 폴더를 미리 만들고, 소스를 import 하는 것이 좋은 방법이라고 한다. 물론 나도 혼자서 사용하면서도 이 방식을 지켜서 만들었다. 편리한 점이 꽤 있었다. release 한것들과 작업 하고 있는 버전들, 각각의 기능들이 있는 버전등등 잘 저장할 수 있다.
그런데 git의 경우는 이런 식이 아니라는게 나를 더 헷갈리게 했다. git의 경우는 일단 현재 소스가 있는 폴더 자체를 repository로 만든다.
1. 현재 소스가 있는 폴더에서 git init 으로 현 폴더 자체를 repository로 만든다. 이렇게 만들고 나면 밑에 .git 폴더가 생긴다. TortoiseGIT를 사용할 경우 폴더 위에서 마우스 오른쪽 버튼을 클릭하고 "GIT Repository create here"를 선택한다. 아래와 같은 메시지가 나온다.
Initialized empty Git repository in .git/
2. 현재 폴더 밑에 있는 파일들을 add 해서 실제로 repository에 추가할 예정임을 알린다. 즉 git add file1 file2 명령어로 파일을 추가한다. TortoiseGIT의 경우 파일들을 선택하고 Add 하면 된다.3. 그리고 현재 폴더를 선택하고 git commit 하면 실제로 앞에서 add 했던 파일들이 repository에 저장되게 된다. 즉 현재 폴더 아래에 있는 .git 폴더 안에 저장된다. 물론 commit 할때는 충분한 comment를 달아서 나중에도 알 수 있게 하는 건 당연한 거다.
이렇게 하면 현재 내 컴퓨터에 자체적인 repository가 생긴 것이다. 일단 Local 에 있는 repository에서 몇 가지 수정을 하고 나서 리눅스 서버에 git를 인스톨해서 두 개의 repository 사이에 sync 하는 부분을 해볼 생각이다. 그 방법도 하는 데로 여기에 올리 도록 하겠다. 그리고 가능하면 trac 과의 연동등과 같은 부분도 다뤄 볼 생각이다.
일단 오늘은 여기까지...



글
댓글을 달아 주세요
댓글 RSS 주소 : http://www.cipher.pe.kr/tt/cipher/rss/comment/183댓글 ATOM 주소 : http://www.cipher.pe.kr/tt/cipher/atom/comment/183