Cygwin? msysGit?
Cygwin 을 쓰던 사람이라면 Cygwin 으로 배포되는 git 을, git 이외에 Cygwin 류의 것을 쓸 일이 없다는 사람은 msysGit 을 추천한다.
(Cygwin 홈 페이지 자신을 "a Linux-like environment for Windows" 라고 소개하고 있다.)
Cygwin 팁
Windows 폴더 팝업 메뉴에서 Cygwin shell 을 바로 띄우는 방법이다. fvue.nl/wiki/Bash_and_Windows 에 자세한 내용이 있다. (msysGit 은 설치하면 "Git Gui Here"와 "Git Bash Here" 메뉴 아이템을 추가한다.)
C:\cygwin\cygwin_here.bat (Window2000 이상)
@echo off REM --- cygwin_here.bat ------------------------------------------------------ REM function: Start Cygwin in current directory REM args: - 1..9 REM Setting `CHERE_INVOKING' prevents /etc/profile from issuing `cd $HOME' set CHERE_INVOKING=1 C:\cygwin\bin\bash --login -i %1 %2 %3 %4 %5 %6 %7 %8 %9
registry 수정
HKEY_CLASSES_ROOT |-Folder |-shell |-Shell to Cygwin "Shell to Cyg&win" |-command "C:\cygwin\cygwin_here.bat"
혹시 권한을 탓하며 실행을 거부하는 경우에는 Cygwin 을 실행하고 권한을 주면 된다.
cd / chmod +x cygwin_here.bat
(Cygwin 에서 cat 으로 cygwin_here.bat 을 만들었는데 실행권한이 없었다. 그냥 다른 Windows 에디터를 사용했었다면 이런 일이 안 생겼을지도 모르겠다.)
원활한 원격 작업을 위한 설정
원격 저장소와 통신에 사용하는 디폴트 프로토콜은 ssh 이다. 보통 아무 작업도 해주지 않으면 push 나 pull 할 때 암호를 물어오게 되어 있다. 암호를 입력해 주면 되는데, 문제는 그렇게 두면 git gui 에서는 원격 작업을 할 수 없다는 것이다.
작업 머신에서 서버에 암호 입력 없이 접근할 수 있게 해주는 방법이 있다.
ssh-keygen.exe -C "you@your.email.com" -t dsa scp ~/.ssh/id_dsa.pub you@yourgitserver:~/.ssh/authorized_keys
(이 때 한 번 로그인 암호를 입력하게 된다.)
ssh-keygen 시에 passphrase 를 물어 오는데 입력을 하지 않는 것이 편하다. 입력을 하고 나중에 ssh-agent, ssh-add 를 이용하면 많이 불편하지는 않지만, 입력을 하지 않는 것 보다는 불편하다.
ssh-agent, ssh-add 사용하기
만일 주인이 없는 사이에 누군가 개발 머신을 켜고 원격 저장소를 엑세스하는 것을 막고자 한다면, 아니면 누군가 id_dsa 를 복사해 가서 원격 저장소를 엑세스 할 가능성을 없애려면, 매번 암호 입력을 하거나 passphrase 를 사용해서 ssh-keygen 을 해야만 한다.
아래는 ssh-agent 와 ssh-add 를 사용하는 방법이다. 먼저 Cygwin 이나 Git-Bash 를 실행하고
eval `ssh-agent -s` ssh-add
passphrase 를 입력해준다.
이제 마음껏 작업한다.
git pull git push git gui ...
다른 사람이 자리에 앉아서 서버에 접속할 가능성을 차단하기 위해 ssh-agent 를 죽인다.
ssh-agent -k
물론 컴퓨터를 끄고 집에 가려 한다면 마지막 명령은 필요없다.
댓글 없음:
댓글 쓰기