포스팅을 할 때 가장 즐거운 일은 댓글을 확인하는 것이다 ^^
이번에는 저에게 너무나 큰 기쁨을 주는 댓글을 통해 문의하신 것 중 하나에 대해서 포스팅 해보고자 한다.

Gitolite에 대해서 어려워 하시는 분들의 대부분은 Gitolite 때문이 아니라,
SSH에 대한 이해와 더불어 공개키(public key)에 대한 사항 때문에 어려움을 겪게 된다.


Windows에서 공개키 만들고 등록하는 것은 Linux 환경에서 하는 것과 거의 동일하다.
그래도 다시 한 번 되돌아 보는 의미로 살펴보면서 공개키에 대해서 같이 살펴보도록 하겠다.



1. 공개키 등록하기

     - 새로운 사용자, 지금 상황에서는 Windows XP 환경의 사용자가 등록을 하고 싶은 경우를 살펴보자.


     - 왼쪽 하단의 'chaniXP'라는 이름의 사용자가 공개키를 만들어서,
       왼쪽 상단의 gitolite 관리자에게 보내면, 그 관리자가 등록 및 설정을 하고,
       오른쪽의 Server에 push를 하면,
       chaniXP 사용자는 Server로부터 허용된 repositories를 clone 받을 수 있게 되는 것이다.

     - 여기서 중요한 점은 chaniXP라는 사용자는 Server의 계정이 아니다.
     - Gitolite를 사용하게 되면, Server에서는 'git-repo'라는 계정 하나만 있으면 된다.




2. Git Bash

     - Windows 환경에서 Git 설치하기를 하셨다면, Git Bash가 있을 것이다.


     - 무슨 말인지 모르겠다면, 다음 포스팅을 참조하면 된다.
     - http://whatwant.tistory.com/288





3. Windows에서 공개키 만들기

     - Linux 때와 마찬가지로 [ ssh-keygen ]을 실행하여 공개키를 만들어주자.


$ ssh-keygen

     - Windows 환경에서도 분명히 사용자 이름이 있으며, home directory는 존재한다.
     - 그냥 엔터만 쳐도 잘 만들어진다.




4. 공개키 보내기

     - Gitolite 관리자에게 공개키를 보내서 등록해달라고 해야한다.
     - 여기에서는 gitolite라는 계정에게 scp를 통해서 공개키를 보내주도록 하겠다.



     - 중요한 점은 이전에도 한 번 언급했지만, 일반적으로 [ 계정명.pub ] 형식의 파일명을 사용한다는 것이다.




5. Gitolite 관리자

     - 이제부터는 Gitolite 관리자가 해야하는 일이다.

     - 우선은 새로운 파일이 잘 들어왔는지 확인을 하고, 그 계정에게 권한을 부여해주면 된다.


$ nano ./conf/gitolite.conf

     - ./keydir directory 안에 [ chaniXP.pub ]라는 파일이 잘 들어왔는지 확인을 하고,
     - [ ./conf/gitolite.conf ] 환경 파일을 수정해주면 된다.


     - 공개키를 등록한다해도, 그 계정이 어느 repository에 권한을 갖는지 정해주지 않는다면 무용지물이다.




6. push

     - 제일 중요한 과정이다. 바로 서버에 해당 정보들을 보내주어야 모든 것이 이루어진다.


$ git add ./keydir/chaniXP.pub
$ git commit -a -m "add user - chaniXP"
$ git push

     - 위 스크린샷과 명령어 정리한 내용과 차이가 있다.

     - 정말 종종 실수하는 부분인데, 기존에 등록된 파일의 수정이 아니라 새로운 파일이 등록되었을 경우에는
        [ git commit -a -m "..." ] 명령으로 처리가 되지 않는다. 별도로 등록을 해주어야 하는 것이다!!!!!
     - 이 부분만 주의해서 정리하고 push 해주면 모든 것은 끝난다!!!




강원도 솔비치로 2박3일 가족여행을 다녀오자마자 내 방에 처박혀서 포스팅을 하고 있으니,
우리 아가와 와이프가 째려본다.... ㅋㅋㅋ ^^

솔비치 호텔에서 2박 모두 했는데 바로 앞에 바다가 있어서 아가랑 놀러가기에는 정말 좋은 것 같다.
다만, 아직까지는 물이 차가워서 모래놀이 위주로 했지만...

다음에는 호텔이 아니라 콘도로 예약을 해야겠다 ^___^

반응형

'SCM > Git-GitHub' 카테고리의 다른 글

GitHub - Signup  (0) 2012.06.10
Gitolite in Eclipse ( 이클립스 환경에서 Gitolite 접근하기 )  (1) 2012.06.07
Rebase - 또 하나의 merge  (0) 2012.05.30
Gitolite - Personal Branches  (4) 2012.05.28
Gitolite - user, repo 추가하기  (14) 2012.05.26

+ Recent posts