본문 바로가기
etc/Memory

이클립스(eclipse) 깃허브(Git) 사용법 총정리

by hyunipad 2021. 8. 3.
반응형
이번 포스팅은 이클립스(eclipse)에서 깃허브를 연동하여 사용하는 법을 설명합니다.
깃허브란?
- 소스코드를 손쉽게 복사하고 배포할 수 있는 웹 그래픽 기반의 오픈소스 저장소입니다.

 

깃허브 저장소 만들기

먼저 이클립스에서 깃허브를 사용하기 위해서 깃허브 홈페이지에서 저장소를 구축해야 합니다.

회원가입을 하고 로그인을 하고 오른쪽 상단의 사람 모양을 클릭하여 Your Repositories를 클릭합니다.

 

들어간 후 New를 클릭하여 저장소를 생성합니다.

  • Add a README file : 저장소를 소개할 텍스트를 입력할 수 있는 파일을 생성합니다.
  • Add .gitignore : 깃허브에서 추적할 수 없는(연동 X) 파일의 리스트를 입력할 수 있는 파일을 생성합니다.

 

 

 

이클립스에서 저장소(Repository) 연동하기

저장소를 만들었으면 이클립스와 저장소를 연동해야 합니다.

이클립스를 켠후 오른쪽 상단의 open Perspective를 클릭한 후 Git을 클릭합니다. 

 

 

왼쪽에 Clone a Git Repository를 클릭합니다.

다음으로 깃허브 홈페이지에서 구축한 저장소의 URI를 입력합니다.

URI는 저장소를 구축한 후 나오는 페이지에 있습니다.

 

URI를 입력한 후 하단에 깃허브의 아이디와 비밀번호를 입력합니다.

 

 

완료하였으면 Next > Next > Finish를 클릭합니다.

 

프로젝트를 저장소에 연동하기

위와 같이 이클립스와 깃허브 저장소를 연동하는 데 성공하였다면, 진행 중인 프로젝트를 연동합니다.

 

진행 중인 프로젝트를 오른쪽 클릭 > Team > Share Project...클릭

 

 

이클립스에 연동되어 있는 저장소를 선택한 후 Finish를 클릭합니다

위와 같이 프로젝트 옆에 [저장소명 master]가 생겨야지 연동에 성공한 것입니다.

 

깃허브 동작 원리

깃허브의 동작원리는 위와같이 이루어집니다.

이때까지 진행한 과정은 이클립스 프로젝트와 지역 저장소, 원격 저장소 3개를 연동하는 작업이었습니다.

이클립스 프로젝트를 원격 저장소(Git)에 올릴 때는

커밋(commit)을 통해 지역 저장소(eclipse)에 1차적으로 배포하고 푸시(push)를 통해 원격 저장소(Git)에 배포합니다.

원격 저장소에서 이클립스 프로젝트로 가져올 때는

패치(fetch)를 통해 지역 저장소에 1차적으로 저장하고 풀(pull)을 통해 이클립스 프로젝트로 가져옵니다.

★여기서 중요한 점

푸시를 하기 전에는 꼭 패치와 풀을 해줘서 프로젝트를 최신으로 업데이트해야 합니다.

그렇지 않으면 다른 팀원들이 올린 소스코드와 충돌이 일어날 수 있기 때문에

항상 코딩을 시작할 때 패치와 풀을 해주고 푸시를 하기 전에도 한 번 더 패치와 풀을 해주어 최신으로 업데이트하는 습관이 필요합니다.

 

커밋(commit) 푸시(push)

프로젝트를 수정하고 이클립스의 Git에 들어가게 되면

Git staging에 자신이 수정한 목록(변경 사항)들이 보이게 됩니다.

 

변경할 사항들을 클릭한 후 + 버튼을 누르게 되면 Staged Changes로 이동하게 되고

Commit을 누르면 지역 저장소에 저장 되게 됩니다.

성공했다면 Git repostories에 ↑ 화살표가 생깁니다.

 

성공하셨다면 Repository를 오른쪽 클릭 후 Push to origin을 클릭하면 원격 저장소(깃 허브)로 배포가 완료됩니다.

 

패치(fetch)와 풀(pull)

먼저 패치(Fetch)를 통해 원격 저장소에서 지역 저장소로 가져옵니다.

패치에 성공하셨다면 이런 창이 뜨고 현재 저는 테스트 중이기 때문에 항목이 안 보이지만

다른 팀원이 푸시를 했으면 패치받은 항목들이 뜹니다.

그 후 풀(Pull)을 통해 지역 저장소에서 자신의 프로젝트로 가져옵니다

 

 

이상으로 이클립스에서 깃허브를 사용하기 위한 기본적인 기능에 대해 소개하였습니다.

다음에 기회가 된다면 merge나 branch 등의 추가적인 기능에 대해 소개해보도록 하겠습니다.

감사합니다.

 

 

 

 

 

 

 

반응형

'etc > Memory' 카테고리의 다른 글

컨트롤러에서 페이지 새로고침  (1) 2021.02.03

댓글