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 을 이용해보길 바랍니다.




+ Recent posts