'프로그래밍/SCM'에 해당되는 글 6건

  1. 2009/04/06 게으른 엔지니어 git 관련 홈페이지들 모음
  2. 2009/04/05 게으른 엔지니어 git-daemon 을 쓰지 말아야 할 듯~
  3. 2009/04/04 게으른 엔지니어 git-daemon 을 이용하고 싶다~
  4. 2009/04/03 게으른 엔지니어 CentOS 5에 git를 인스톨 하다...
  5. 2009/03/31 게으른 엔지니어 Git 처음 셋팅
  6. 2009/03/23 게으른 엔지니어 GIT를 사용할려고 한다.

git 관련 홈페이지들 모음

프로그래밍/SCM 2009/04/06 21:49 게으른 엔지니어
여기 저기 찾다가 상당히 괜찮은 git 관련 싸이트를 하나 찾았다. 나중에라도 확인 하기 위해서 여기에 그 웹 싸이트 주소를 저장 한다. 이 페이지에는 계속해서 git 관련 홈페이지를 저장해야 겠다.

1. Git Magic
http://www-cs-students.stanford.edu/~blynn/gitmagic/index.html

아마 CentOS 5에 인스톨해서 서버로 해서 윈도우에서 접속하는 건 여기를 참조해서 하지 않을까 싶다. 물론 아직 시도하지는 못했다.

크리에이티브 커먼즈 라이센스
Creative Commons License
이올린에 북마크하기(0) 이올린에 추천하기(0)
TAG ,
받은 트랙백이 없고, 댓글이 없습니다.

댓글+트랙백 RSS :: http://www.cipher.pe.kr/tt/cipher/rss/response/187

댓글+트랙백 ATOM :: http://www.cipher.pe.kr/tt/cipher/atom/response/187

git-daemon 을 쓰지 말아야 할 듯~

프로그래밍/SCM 2009/04/05 09:39 게으른 엔지니어
리눅스 서버쪽에 git 를 인스톨하고 로컬로 repository 만들고, git-daemon 띄우고, iptables 해제해서 방화벽까지 다 열어 놓고 아래와 같이 윈도우에서 push 했는데,
git push git://mywebserver/abc.git HEAD
fatal: The remote end hung up unexpectedly

라는 에러 메시지가 나온다. 구글신에게 물어 보니 답변이 대충 git 프로토콜을 쓰게 되면 일단 외부에서 writing을 할 수가 없기 때문에 저와 같은 에러 메시지가 나온다고 한다. 그래서 다른 방법을 이리 저리 확인해 보니 http인 웹 서버를 통해서 하는 방법이 있고, 또 하나는 ssh를 이용하는 방법, 그리고 gitosis 라는 툴의 도움을 받는 방법들이 있는거 같다.

일단 간단하게 웹 서버를 통해서 하는 방법부터 전부 하나씩 해봐야 겠다. 간단한 설명을 보면 궁극적으로는 gitosis 라는 툴을 써야 할듯 하다. gitosis의 경우 ssh를 사용하는데, git 사용자가 굳이 리눅스 서버에 그 계정이 없어도 사용할 수 있는 방법을 제공하는 것 같아서 말이다. 일단 git-daemon은 시도하지 말아야 겠다.



크리에이티브 커먼즈 라이센스
Creative Commons License
이올린에 북마크하기(0) 이올린에 추천하기(0)
받은 트랙백이 없고, 댓글이 없습니다.

댓글+트랙백 RSS :: http://www.cipher.pe.kr/tt/cipher/rss/response/186

댓글+트랙백 ATOM :: http://www.cipher.pe.kr/tt/cipher/atom/response/186

git-daemon 을 이용하고 싶다~

프로그래밍/SCM 2009/04/04 22:43 게으른 엔지니어
노트북에 git repository를 인스톨 했고, Linux 서버에 git를 제대로 인스톨 했다. 이제 해야 할 내용은 노트북에 있는 git repository를 Linux 서버에 똑같이 복사하고, 서로 간에 왔다 갔다 하게 만들어야 겠는데... git-daemon이 그리 쉬워 보이지는 않는다...

일단 주말 내내 틈틈이 시간 내서 확인해 봐야 겠다. 제대로 동작이 가능해 지면 여기에 다시 포스팅하도록 하겠다.
크리에이티브 커먼즈 라이센스
Creative Commons License
이올린에 북마크하기(0) 이올린에 추천하기(0)
받은 트랙백이 없고, 댓글이 없습니다.

댓글+트랙백 RSS :: http://www.cipher.pe.kr/tt/cipher/rss/response/185

댓글+트랙백 ATOM :: http://www.cipher.pe.kr/tt/cipher/atom/response/185

CentOS 5에 git를 인스톨 하다...

프로그래밍/SCM 2009/04/03 21:08 게으른 엔지니어
처음 CentOS 5를 인스톨 할때 개발자 환경까지 전부 인스톨 했기 때문에 따로 프로그램을 인스톨 할 필요가 없어 보여서, http://git-scm.com 에서 소스 코드를 다운 받아서 인스톨 했다. 지금 현재 버전은 1.6.2.2 가 최신 버전이라서 tar.gz 파일을 받아서 인스톨을 했다.

압축을 풀고 확인해 보니 INSTALL 파일이 있어서 열어서 내용을 보니, 본인이 혼자 쓸려면 그냥 make; make install;을 하면 된다는 것이다. 흠... 넘 간단한데.. 하고 생각해 보니, 이건 말 그대로 혼자서 쓸때이다. 즉 파일이 ~/bin 에 저장된다는 것이다. 그래서 configuration을 해야 겠다고 생각이 들어서 아래와 같이 실행했다. (물론 이 내용은 INSTALL 파일에 있는 것이다)

# make configure
# ./configure --prefix=/usr
# make all doc

여기서 문제가 생겼다. asciidoc 프로그램이 없다고 오류가 떴다. 이럴때는 항상 문서를 다시 보는 수 밖에... INSTALL 파일을 쭈욱 훑어 보니 보통 asciidoc 프로그램은 잘 깔려 있지 않다고 해서 프로그램을 찾아 봤다. http://www.methods.co.nz/asciidoc/index.html 에서 소스 코드 받아서 간단하게 인스톨 했다. 지금 인스톨 하는 버전이 8.4.2 이다.
물론 나는 인스톨 할때 root 계정으로 인스톨 한다.

$ tar -xzf asciidoc-8.4.2.tar.gz
$ cd asciidoc-8.4.2
$ ./configure
$ make
$ make install

위와 같이 하면 asciidoc가 인스톨 되므로 다시 git 인스톨시에 문제가 됐던
$ make all doc를 다시 실행했다. 물론 잘 넘어 가는 것을 확인하고
$ make install install-doc install-html
하니 쉽게 인스톨이 끝났음을 알 수 있다.

root 계정이 아니고 다른 계정으로 접속해서 git 를 실행하니 제대로 실행되는 것을 보니 일단 CentOS 5 에 정상적으로 git를 인스톨 한 것을 알 수 있다.

이제 리눅스 쪽에 repository를 만들어서 변경하고, 윈도우쪽에서 그 repository를 복사해와서 변경했을때 리눅스쪽과 다시 연결해서 두 repository를 sync 하게 되면 어떻게 되는지 확인해 보자. 이건 다음번 포스트에 올리 도록 하겠다.
크리에이티브 커먼즈 라이센스
Creative Commons License
이올린에 북마크하기(0) 이올린에 추천하기(0)
받은 트랙백이 없고, 댓글이 없습니다.

댓글+트랙백 RSS :: http://www.cipher.pe.kr/tt/cipher/rss/response/184

댓글+트랙백 ATOM :: http://www.cipher.pe.kr/tt/cipher/atom/response/184

Git 처음 셋팅

프로그래밍/SCM 2009/03/31 23:16 게으른 엔지니어
일단 git를 인스톨 했다. git 자체와 TortoiseGIT 두 개를 인스톨 하고 나서 한참을 여기 저기 찾아 다녔다. 사용법을 일단 배워야 하니까...

지금 쓰고 있는 책이 있는데, 레이텍을 이용해서 사용하고 있으며, 전체 소스와 이미지 파일 데모 파일등 모두 리눅스 서버에 인스톨 되어 있는 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 과의 연동등과 같은 부분도 다뤄 볼 생각이다.

일단 오늘은 여기까지...
크리에이티브 커먼즈 라이센스
Creative Commons License
이올린에 북마크하기(0) 이올린에 추천하기(0)
받은 트랙백이 없고, 댓글이 없습니다.

댓글+트랙백 RSS :: http://www.cipher.pe.kr/tt/cipher/rss/response/183

댓글+트랙백 ATOM :: http://www.cipher.pe.kr/tt/cipher/atom/response/183

GIT를 사용할려고 한다.

프로그래밍/SCM 2009/03/23 09:12 게으른 엔지니어
다양한 VCS(Version Control System)중에서 이때까지 Subversion은 특별한 불만 없이 잘 사용하고 있다. 서버는 리눅스 버전에 깔고 거기에 trac과 연동 시켰고, 윈도우에서 TortoiseSVN을 이용해서 사용하고 있다. 단지 한 가지 아쉬운 점이 있다면, 요즘 제일 많이 사용하는 MATLAB의 메뉴에서 사용하지 못해서 좀 아쉽다. 대부분의 윈도우용 IDE는 Microsoft Source Code Control standard Version 1.1을 지원하게 되면 VCS에 상관 없이 지원이 되는데, 대부분의 Open Source VCS는 이 standard를 지원하지 않는다. Subversion의 경우에도 마찬가지이다. 이를 해결하기 위해서는 wrapping하는 프로그램을 사면 가능해 진다. 이 부분을 제외하고는 대부분 편리하게 잘 사용하고 있다.

Subversion을 사용하면서 한 가지 불편한 점이 있었는데, 네트웍이 끊어지면 더 이상 commit을 하지 못한다는 점이 었다. 그래서 생각했던게, 사용하고 있는 컴퓨터에 commit을 했다가 네트웍이 연결되면 그 commit 한 부분이 들어 가는 방법이 없을까 하고 생각했었다. 요 근래에 실제로 확인을 해보니 비슷한 형태의 VCS가 분산형 VCS가 있었다. 특히나 Subversion을 활용한 것중에 svk 라고 하는게 있는듯 하던데, 나는 GIT를 선택했다.

GIT는 리눅스를 개발한 리누스 토발즈가 리눅스 커널을 분산 환경하에서 Version Control을 하기 위해서 개발한 제품이다. 이 제품 전에는 BitKeeper 라고 하는 제품을 사용했었는데, 라이센스 문제등이 있어서 리누스가 직접 개발한 것이 바로 GIT인 것이다.

아직 사용을 해본 것은 아닌데, 여기 저기 찾아보니 꽤 괜찮아 보여서, 게다가 open source라는 것도 매력적이라서 사용을 해보기로 했다. 클라이언트는 윈도우에서 탐색기에 잘 연결되어 있는 Tortoise... 시리즈중에서 TortoiseGIT라는 제품이 있다. 대충 홈페이지를 읽어 보니 TortoiseSVN의 소스 코드를 수정해서 GIT를 사용할 수 있게 한 것이다.

그리고 자기 컴퓨터에서 네트웍이 연결 안되어 있으면, GIT를 활용하고 네트웍이 연결되어 있는 상황에서는 Subversion을 사용하는 형태의 조합으로 사용할 수 있기 때문에 한번 시도해 볼려고 한다. 물론 trac이 GIT를 지원하니까, 일단 사용해보고 이것 저것 시도해 볼 생각이다.

제품의 다운로드는
GIT: http://git-scm.com/
TortoiseGIT: http://code.google.com/p/tortoisegit/
에서 받을 수 있다.

일단 사용해 보고 체험기라고나 할까... 여튼 사용해보고 내 생각을 적어 보도록 하겠다.

크리에이티브 커먼즈 라이센스
Creative Commons License
이올린에 북마크하기(0) 이올린에 추천하기(0)
받은 트랙백이 없고, 댓글이 없습니다.

댓글+트랙백 RSS :: http://www.cipher.pe.kr/tt/cipher/rss/response/180

댓글+트랙백 ATOM :: http://www.cipher.pe.kr/tt/cipher/atom/response/180