Git-bash 한번에 따라하기.
git 강좌 진행 후, 처음이라 따라오기 힘들었던 친구들이 있어서 다시 정리 글을 올립니다. 가장 문제가 됬던점은 ssh-key등록 및 branch의 상태였는데, 처음 시작하는 여러분들이 헷깔릴만한 포인트를 강조하여 포스트를 쓸까 합니다.
개인적으로 손에 익으면 git-gui보다 git-bash가 편리한점이 많아서 git-bash로 하고 있습니다. 이 글은 git-bash로 하는 방법에 대한 포스팅을 하겠고 다음 글에서 git-gui 한번에 따라하기 포스팅을 하겠습니다.
1. 초기화하기 (ssh-key 삭제)
ssh-key의 중요성, 편리성에 대해서는 git강좌시간에 설명하였으며, 다음을 참고 바랍니다.
http://parkhyunjin.tistory.com/6
강좌에서 git-bash와 Tortoise git을 동시에 진행하다보니 ssh-key 등록방법에서 엇갈린 부분이 있었던 것 같습니다. ssh-key 등록부터 다시 해보아요.
자기 이름을 누르고 Profile Setting을 누릅니다.
SSH Keys의 내용들을 다 지웁니다. (꼭 지워주세요)
SSH Keys가 깔끔하게 없어졌죠??
서버에 있는 SSH Key들을 다 지웠고, Local에 있는 ssh key도 다 지워보겠습니다.
먼저 git-bash를 엽니다.
기본 폴더로 이동하여 .ssh 폴더를 지웁니다.
$ cd // C:\home 으로 이동
$ ls -la // C:\home 디렉토리에 있는 폴더&파일 보기
$ rm -rf .ssh // .ssh 및 하위 디렉토리 삭제 ( rm은 지우는 명령어 -rf는 하위폴더도 지우라는 옵션)
$ ls -la // .ssh폴더를 지운 후 내용물 확인
아래 사진처럼 .ssh 폴더를 없애줍니다. (파일 탐색기에서 삭제해도 상관없음)
자 여기까지 함으로써 원격 저장소에 있는 SSH Key와 로컬에 있는 SSH key를 삭제하였습니다.
원격저장소는 Server를 가르키며 로컬은 자신의 컴퓨터(Client)를 가르킵니다.
2. ssh-key 생성 및 등록하기
Local에서 ssh key를 생성하여 Server에 다시 등록하는 과정을 진행합니다.
***** 주의사항 ******
반드시 Local과 Server의 쌍은 같아야 합니다. 같이 생성된 키여야 됩니다. 다른장소, 다른시간에 생성된 키와는 pair를 이룰 수 없습니다. (git-bash로 생성한 것과 puttyget을 이용하여 만든 key는 pair를 이룰 수 없음!!!)
.ssh 폴더를 만들고 .ssh폴더로 이동하여 ssh-key를 생성해줍니다.
경로를 옮기지 말고 c/home 경로에서 다음과 같이 명령어를 입력합니다.
$ mkdir .ssh // .ssh 폴더를 새로 생성 (이미 있을 경우 생성 안됨)
$ cd .ssh // .ssh 폴더로 이동
$ ssh-keygen -t rsa // ssh-key를 생성하는 명령어
(Enter) // /c/home/.ssh/id_rsa 로 생성할 경로가 맞는지 물어본다. Enter 입력
(Enter) // 비밀번호를 지정하지 않을 것이기 때문에 Enter 입력
(Enter) // 비밀번호 재확인, Enter 입력
$ ls // c/home/.ssh 폴더에 id_rsa id_rsa.pub가 생성됬는지 확인
공개키 (id_rsa.pub) 를 확인하고 마우스 우클릭 후 복사 또는 Cntrl + C 로 복사합니다.
$ cat id_rsa.pub // id_rsa.pub 의 내용을 console 화면에 출력
Server에 공개키를 등록합니다.
SSH KEys -> Addn SSH Key 를 누릅니다.
git-bash에서 복사한 id_rsa.pub의 내용을 붙여넣기 한 후 제목을 입력하고 Add Key를 누릅니다.
***** 주의사항 *****
공개키 생성에는 여러 조건이 있습니다. 띄어쓰기나 개행에 주의하세요.
3. git clone을 통한 source code 다운로드.
여기까지 잘 따라했다면 아무 무리 없이 git clone을 할 수 있습니다. 이제 git clone을 통해 원격 저장소(Server) 에 있는 소스 코드를 로컬(개인 컴퓨터) 에 복사합니다.
먼저 공통된 작업을 위해 통일된 공간에서 새로운 directory를 만들고 git clone을 진행하겠습니다.
$ cd // 기본 디렉토리로 이동
$ mkdir test // test 폴더를 생성 (만약 있을 경우 rm-rf test 후 다시 생성)
$ cd test // test 폴더로 이동
$ git clone git@gitlab.com:hjpark/KITEL_TEST.git // server 저장소를 로컬로 복사
yes // ssh-key 맞는지 물어본다. yes 입력
***** 주의사항 *****
git clone이 안되는 경우
1. 인터넷 연결이 안되었을 떄
2. ssh-key에 한글이 들어간 경우 한글이 깨져서 git version에 따라 간혹 안되는 경우가 있다. -> Tortoise 이용
3. 서버 주소 입력이 틀렸을 때
4. Project member 등록이 안되었을 때
5. ssh-key pair가 안맞을 때 -> ssh-key 등록이 잘못되었다. 1번부터 반복
git clone을 성공하여 해당 폴더로 들어가면 (master)라는 것을 볼 수 있습니다. 최초로 clone하게 될 경우 자동으로 master로 받습니다.
Web page에서 master에 위치를 보면 가장 밑에 readme added 부분에 있기 때문이 readme.txt 밖에 없습니다.
우리는 다른 branch로 작업환경을 변경할 것입니다.
$ cd KITEL_TEST
$ ls
짜잔!!! 서버에 있는 file 내용과 비교하였을 때 일치함을 알 수 있습니다.
$ git checkout develop
$ ls
---- 끝 ----
여기까지 ssh-key를 초기화하고 git clone하는 방법을 알아봤습니다.
혹시 여기서 안되는 사람은 댓글로 error log를 보여주고, 한글 문제때문에 안되는 사람은 Tortoise git 을 이용해보길 바랍니다.
'Git' 카테고리의 다른 글
008.Git-bash 실습해보기 ( checkout, reset, add, rm, commit) (0) | 2016.02.16 |
---|---|
006. Tortoise git 한번에 따라하기 (0) | 2016.02.16 |
Git 강좌 후기 (1) | 2016.02.16 |
004. git server project 생성 및 git clone (0) | 2016.01.27 |
003. ssh-key 생성하기 (0) | 2016.01.25 |