본문 바로가기

Git

[Git] Eclipse와 Git 연동하기

<이클립스에 있는 내 프로젝트 파일을 GitHub에다가 올리려 할 때>

 

Step 1.  기존에 Eclipse에 있는 프로젝트를 로컬 Repository를 만들어 연동하기 

1. Eclipse에서 연동하려는 프로젝트 우클릭 > Team > Share Project ... 

 

 

 

 

2. Configure Git Repository 창이 켜지면 <Create> 클릭

 

3. Git 저장소의 경로를 지정하는 단계입니다.

보통 사용자₩사용자이름₩git 으로 경로가 되어 있습니다.

(Mac 기준으로는 아래 캡처와 같이 repository 폴더가 새로 지정되어 있을 겁니다.)

이때 이 Git 저장소의 경로가 이클립스의 프로젝트 폴더의 경로와 달라야 합니다. 

저는 뒤에 새로 지정할 로컬저장소명을 붙여주었습니다. 

Finish를 눌러줍니다.

 

저장소 위치, 작업 위치 등 저장소와 관련된 기본 설정을 볼 수 있습니다.

Current Location(이클립스의 프로젝트 폴더 경로) 와 Target Location(Git 저장소의 경로) 가 달라야 합니다.

Finish를 눌러줍니다

 

4.  이제  패키지 익스플로러를 보면 디렉터리 아이콘에 물음표 아이콘이 생기고, 프로젝트 이름 옆에 간단히 저장소 정보가 표시된 것을 볼 수 있습니다. 이제 프로젝트와 Git 저장소가 연결된 것입니다.

 

 

위에서 지정한 로컬 repository 위치로 가보면 .git 폴더가 숨김처리 되어 있습니다.

 

 

5.  오른쪽 위 Git 퍼스펙티브 아이콘을 누르면 Git 저장소 정보를 확인할 수 있습니다. (저 표시가 없다면 맨 왼쪽에 + 버튼 아이콘을 눌러 Git 퍼스펙티브를 추가해주세요)

 

 

 

6.  Working Tree의 하위 디렉토리가 .git과 프로젝트 이름 으로 구성되어 있다면 정상적으로 로컬 repository가 만들어진 것입니다.

이렇게 Git 저장소인 '.git' 디렉토리와 이클립스 프로젝트 디렉토리(.project 파일이 있는 디렉토리)를 분리함으로써 의도하지 않은 사고를 방지할 수 있습니다. 

 

 

7. 이제 파일들을 Commit 해봅시다.

파일 옆에 물음표는 저 파일들이 추적 중이 아니라는 뜻입니다. 파일을 Git 저장소에 추가해야 합니다.

프로젝트명 우클릭 > Team > Commit 을 눌러줍니다.

 

저장소에 추가할 파일들을 선택하고 Commit 메시지를 작성한 다음 Commit 버튼을 누릅니다.

 

커밋하고 나면 물음표가 사라지고, 저장소가 추적 중이라는 의미로 노란 원통 아이콘이 붙습니다. 

 

 

 

 

Step 2. 로컬 저장소와 원격 저장소(GItHub)을 연결하기

1. Git 퍼스펙티브를 선택해서 Remotes 우클릭 > Create Remote 선택

 

 

창이 열리면 'Remote name'이 origin으로 되어 있는지와 'Configure push' 항목이 선택되어 있는지를 확인합니다.

origin은 원격 저장소의 별칭입니다. 원칙적으로는 다른 이름으로 바꿔도 괜찮습니다. 

Create를 눌러줍니다.

 

 

2. URI 에다가 자신의 원격저장소(github)의 HTTPS clone URL 항목의 주소를 입력합니다.

그럼 Host 항목과 Repository path 항목의 값은 자동으로 입력됩니다.

Connection 항목의 설정은 그대로 둡니다. (SSH 등 다른 프로토콜을 선택하는 경우에만 Protocol 항목의 설정값을 사용하는 프로토콜로 변경하면 됩니다.)

User, Password 항목에는 자신의 Github 사용자 이름과 비밀번호를 입력하고 Finish를 누릅니다.

 

 

3. 다시 Configure Push 창으로 돌아오면 오른쪽 아래에 있는 Advanced를 클릭합니다.

 

 

Push Ref Specifications 창이 나타나는데, 이 부분의 설정 과정이 핵심입니다.

지금까지 했던 모든 작업을 지정하기 위해 Add All Branches Spec 를 클릭합니다.

Specifications for push 항목의 Source Ref 항목과 Destination Ref 항목에 refs/heads/* 라고 설정되어 있다면 정상적으로 설정된 것입니다. 

Finish를 눌러줍니다.

 

 

4. Ref mappings에 새로 추가된 것을 볼 수 있습니다.

원격저장소 정보 저장 후 바로 푸시하기 위해 Save and Push를 클릭합니다.

 

 

 

푸시를 시작합니다. 중간에는 몇 번 Github 사용자 이름과 비밀번호를 입력할 것을 요구할 수 있습니다. 입력한 후 Log in 을 클릭하면 됩니다.

 

 

 

5. 푸시가 전부 완료되면 최종 푸시한 로컬 저장소의 내역을 확인할 수 있습니다.

혹시 푸시하지 못한 작업 내역이 있다면 configure을 클릭해 작업 내역을 추가하면 됩니다.

 

 

실제 GitHub 저장소를 확인해도 로컬 저장소의 데이터가 푸시되었음을 확인할 수 있습니다.

 

 


Git에 있는 소스코드를 내 Eclipse에다가 가져오려 할 때 (Clone)

 

Step 1. GitHub의 프로젝트를 로컬에 저장하기

 

File > Import 를 클릭합니다.

 

 

 

 

Git > Projects from Git 선택

 

 

 

Clone URI 선택

  • 로컬에 있던 Git 프로젝트를 추가할 때는 'Existing local repository' 항목을 선택해야겠지만 우리는 GitHub에 있는 프로젝트를 클론하려는 것입니다.

 

 

 

 

가져올 원격 저장소의 정보를 입력해야 하는 'Source Git Repository' 창이 열립니다. 

  • URI : GitHub 또는 Git 서버에서 알려주는 'HTTPS clone URL' 주소를 입력합니다.

 

 

 

 

브랜치를 선택할 수 있는 'Branch Selection' 창이 열립니다.

master 이외의 다른 브랜치 정보도 함께 로컬 저장소에 가져오고 싶다면 다른 브랜치를 선택하면 됩니다.

 

 

 

 

'Local Destination' 창은 프로젝트를 로컬의 어디에 저장할지 선택하는 화면입니다.

여기까지만 하면 Git 퍼스펙티브에 Git 로컬 저장소가 등록됩니다.

 

 

 

 

여기까지는 단순히 GitHub의 프로젝트를 로컬에 저장한 것에 불과합니다. 

실제로 이클립스에서 사용하려면 프로젝트를 만들고, 이클립스 프로젝트에 로컬 Git 저장소 파일들을 추가해야겠죠.

 

 

 

Step 2. 이클립스 새 프로젝트에 로컬 Git 저장소 파일들을 추가하기

 

 

'Select a wizard to use for importing projects' 창에서는 어떤 방식으로 이클립스에 프로젝트를 추가할지를 선택합니다.

  • Importing existing Eclipse projects : 현재 존재하는 이클립스 프로젝트에 원격 저장소를 불러옵니다.
  • Importing using the new Project wizard: 새로운 프로젝트 마법사를 이용해 프로젝트를 만들고 원격 저장소를 불러옵니다.
  • Import as general project: 이클립스에 생성된 프로젝트가 아닌 프로젝트를 불러올 때 선택합니다.

 

여기에서는 새로운 프로젝트를 만들 것이므로, 두 번째를 선택합니다.

 

 

 

 

새 프로젝트 생성을 위한 'Select a wizard' 창이 열립니다.

여기서 GitHub에서 가져올 프로젝트의 적당한 유형을 선택합니다. 하지만 지금 당장은 방금 만들었던 프로젝트에 아무런 소스 파일도 없으니 General > Project 를 선택한 다음 Next를 클릭합니다.

 

 

 

 

새 프로젝트 디렉터리를 지정하는 단계입니다.

여기서부터는 여러분이  Git 저장소를 로컬의 어느 경로에 두었느냐가 중요합니다.

아까 위에서 'Local Destination' 창에서 지정했던 경로를 아래의 Location 영역에다가 똑같이 적어주어야 합니다.

  • 즉, Git 저장소 디렉터리와 프로젝트 디렉터리를 동일하게 하는 것이 핵심입니다.

이클립스 프로젝트의 이름과 디렉터리 이름은 연관 관계가 없습니다. 다만 한 번에 어떤 디렉터리가 어떤 프로젝트를 담고 있는지 알기 쉽게 작성합시다.

 

 

 

 

프로젝트가 생성되면 Git을 이용한 프로젝트라고 표시하기 위해 조그마한 원통 모양의 아이콘이 붙습니다. 이제 클론이 마무리된 것입니다.

새로운 프로젝트와 함께 원격 저장소 클론