본문 바로가기

프로그래밍/기타

Eclipse와 Github 연동(2) - github에서 프로젝트 받기

지난 글에서는 Eclipse와 git을 사용해서 github에 자신이 만든 프로젝트를 올리는 방법에 대해 설명했다. 이번엔 그 반대의 상황으로 github에 올라와 있는 프로젝트를 자신의 eclipse workspace로 받는 방법에 대해 설명하고자 한다. 환경은 지난글과 동일한 환경이어서 환경에 대한 얘기는 생략하기로 하겠다. 대신 지난번 글을 보고 그대로 따라한 상황에서 이번 글을 보고 그대로 따라하고 싶으시다면 지난번 글에 올라간 자신의 프로젝트를 eclipse workspace에서 삭제해주길 바란다. 이번 글로 설명할때 프로젝트가 자신의 workspace에는 없다는 가정에서 할 것이기 때문에 eclipse workspace에 등록되어 있는 github 에 등록된 자신의 프로젝트를 삭제하고 진행하길 바란다(이때 프로젝트에서 마우스 우클릭하여 나오는 context menu에서 Team -> disconnect 를 선택하여 git과의 연동을 끊은 뒤에 프로젝트가 있는 worksppace 디렉토리에서 해당 프로젝트 디렉토리가 삭제가 된 상태로 삭제 처리를 해주어야 한다)


먼저 해야 할 것은 지난 글을 통해 자신의 프로젝트 소스가 올라간 github repository에 가서 주소를 얻어와야 하는 일이다. 아래의 그림은 github repository를 브라우저로 방문했을때 나타나는 화면이다.



여기서 빨간 박스로 표시된 Clone or download 버튼을 클릭하면 위의 그림과 같이 Clone with HTTPS 타이틀을 가진 조그만 레이어 화면이 나오는데 이때 파란색 박스로 표시된 버튼을 클릭하여 현재 방문한 repository의 URL을 복사하여 문서편집기에 일단 붙여넣자. 그리고 탐색기를 통해 eclipse에서 현재 사용중인 workspace 디렉토리로 이동한 뒤 마우스 우클릭하여 나오는 context menu에서 Git Bash Here 메뉴를 선택한다.



여기서 중요한 점은 이 작업을 하게 되는 디렉토리다. 이 부분은 이전 글과는 차이점이 있다. 이전 글에서는 Git Bash 화면을 띄우는 위치가 해당 프로젝트의 디렉토리였다. 그러나 이번글은 프로젝트가 없는 상태에서 github에 등록된 자신의 프로젝트를 받는 것이기 때문에 이전 글과 같이 해당 프로젝트의 디렉토리로 이동할 수 없는 상황이다. 그렇기 때문에 이 작업을 할때는 이 프로젝트를 받게되는 eclipse workspace 디렉토리에서 해야 한다. 이 작업을 하게 되면 해당 디렉토리에서 Git Bash Prompt 화면을 띄워주게 된다. 이 상태에서 다음의 명령어를 입력해주면 된다. 


git clone remote repository 주소


여기서 remote repository 주소 란 것은 아까 위에서 github에서 복사하여 문서편집기에 붙여넣은 주소이다. 아래의 그림은 다음의 명령어를 실행한 화면이다.



위의 화면을 보면 명령어를 remote repository에 접속하여 해당 remote repository에 올라와 있는 것을 받게 된다. 이때 remote repository 이름(여기서는 samplemvn이 된다)으로 디렉토리를 만들어 받게 된다. 현재 이 명령어를 실행할때 eclipse의 workspace 디렉토리에서 실행했기 때문에 workspace 디렉토리에 remote repository 이름으로 디렉토리를 만들어서 받게 된다. 이때 git local repository도 같이 생성해주기 때문에 이전 글에서 했던 git init 명령을 하지 않는다. 아래의 화면은 이 작업을 진행한 뒤의 workspace 디렉토리를 탐색기로 본 화면이다. samplemvn이란 디렉토리가 만들어져있다. 그래서 git으로 할 작업은 모두 다 끝났다.(벌써? 이걸로?)



그러면 이걸로 진정 끝난걸까? 아니다. 끝난것은 git으로 할 작업뿐이다. eclipse의 workspace 디렉토리에 해당 repository를 다운로드 받으면 eclipse에서 바로 사용할 수 있을까? 전혀 아니다. 왜냐면 workspace 디렉토리에 다운로드만 받은것 뿐이지 이것이 eclipse의 프로젝트로 등록되어진 상태는 아니기 때문이다. 그래서 지금부터는 이렇게 다운로드 받은 프로젝트를 eclipse에 등록하는 작업을 진행하고자 한다. 먼저 eclipse에서 다음과 같이 Package Explorer에서 마우스 우클릭하여 나오는 메뉴에서 import 메뉴를 실행한다.



Import 메뉴를 실행하면 아래의 화면과 같이 Import 화면이 나오는데 여기서 Git의 Projects from Git 선택한뒤 Next 버튼을 클릭한다.



Projects from Git을 선택하면 아래와 같은 화면이 나오는 데 여기서 Existing local repository를 선택한 뒤 Next 버튼을 클릭한다.



Next 버튼을 클릭하면 아래와 같은 화면이 나오는데 여기서 빨간 박스로 표시된 Add 버튼을 클릭한다.



Add 버튼을 클릭하면 아래의 화면과 같이 나타난다. 여기서 빨간 박스로 표시된 Browse... 버튼을 클릭하면 폴더 선택 화면이 나오는데 여기서 local repository 디렉토리를 선택한다. 그러면 이 디렉토리가 어떤것인가? 이전 글에서는 git init 명령을 실행하면 만들어지는 .git 디렉토리가 local repository 디렉토리였지만 지금 상황에서는 맞지 않는다. 그러면 이 디렉토리는 어디인가? 아까 git clone 명령을 실행해서 받은 디렉토리(remote repository 이름으로 된 디렉토리)의 하위 디렉토리를 보면 .git 디렉토리가 있다. 그 디렉토리를 선택해준다.



.git 디렉토리를 선택하면 아래 화면과 같이 선택한 .git 디렉토리가 화면에 보이게 되는데 이때 아래 화면과 같이 해당 .git 디렉토리를 체크 설정을 해준다. 그러면 화면이 나타날 당시엔 비활성화 되어 있는 Finish 버튼이 활성화가 된다. 아래 화면과 같이 설정해준뒤 Finish 버튼을 클릭한다.



Finish 버튼을 클릭하면 아래의 화면과 같이 선택한 local repository가 추가된다. 이때 아래 화면과 같이 추가된 local repository를 선택한 상태에서 Next 버튼을 클릭한다.



Next 버튼을 클릭하면 아래와 같은 화면이 나오는데 여기서 Import as general project를 선택한뒤 Next 버튼을 클릭한다.



Next 버튼을 클릭하면 이 진행과정의 마지막 단계로 프로젝트 이름을 설정하는 화면이 나온다. 프로젝트 이름을 입력한뒤 Finish 버튼을 클릭하면 eclipse에 프로젝트를 등록하는 모든 과정을 마치게 된다.



여기까지 진행해서 github을 통해 받은 프로젝트를 eclipse에 등록하는 과정을 마쳤다. 그러나 이것으로 끝난 것일까? 아니다. 아직 한가지 작업이 더 남았다. 아래의 화면을 보자.



위의 화면은 방금 등록한 프로젝트의 하위 구조를 열어보인 것이다. 이걸로 작업할 수 있을까? 불가능하진 않지만 불편하다. 이전 글을 통해 우리가 프로젝트를 github에 올렸을 때 Maven 기반의 프로젝트를 올렸는데 위의 화면은 Maven 프로젝트의 형태로 보이지 않는다. 이유는 우리가 이 프로젝트를 일반적인 Java 프로젝트로 등록했기 때문이다. 그래서 이 프로젝트를 Maven 기반 프로젝트로 변환해줘야 한다. 위의 그림과 같이 프로젝트에서 마우스 우클릭하여 나오는 context menu에서 configure 메뉴의 Convert to Maven Project 메뉴를 선택해준다. 그러면 프로젝트 구조를 Maven Project 구조로 바꿔주면서 아래의 화면과 같은 형태로 보여주게 된다.



이상으로 모든 과정이 끝났다. git 관련 명령을 실행하는 것도 이전 글에서와 같이 마찬가지로 Eclipse의 Team 메뉴를 통해 git 관련 명령을 실행할 수 있기 때문에 Git Bash 화면을 띄워서 작업하지 않아도 된다. 


이전 글에서와 마찬가지로 이것도 연동하는 과정에서 로그인 아이디와 비밀번호를 물어보는 상황이 나올수 있다. 이때는 github의 로그인 아이디와 비밀번호를 입력하면 된다.