Eclipse에서 Github 연동하기

이 포스팅은 “그린컴퓨터아카데미”에서 진행중인 NCS기반의 교육과정에서 프로젝트 형상관리 능력단위에 대한 보조 교육자료로 활용되고자 작성되었습니다.
본 자료에 대한 무단복제를 금합니다.

#00 프로젝트 생성 및 팀원 초대하기

팀장 역할을 하는 사람이 다음의 포스팅을 참고하여 프로젝트를 생성하고 팀원을 초대합니다.

프로젝트 생성 후 팀원 초대하기

 

#01. 이클립스로 GitHub 저장소 복제하기 (모든 팀원들이 진행)

이클립스의 “Window > Perspective > Open Perspective > Other” 메뉴를 선택합니다.

a025008a6a1bc5d15bfd2bae3fafb7da

 

이클립스에 추가할 새로운 창 조합 선택 항목들이 표시됩니다. 이 창에서 “Git”을 선택합니다.

13d049bd05e8639af0f4476c3cc8b576

 

Github에 생성된 프로젝트의 URL을 복사해 둡니다.

08fb56c28d87130ec4155c92ba5baea8

 

이클립스에서 창 배열이 “Git” 저장소와 연결된 형태로 변경됩니다. 왼쪽의 트리에서 마우스 우클릭 후 표시되는 메뉴를 선택합니다.

0d4890102ad3b4698d92f87ac2bfa49e

 

“Clone Git Repository” 화면이 표시되면서 미리 복사해 둔 URL을 기반으로 입력항목들이 자동으로 설정됩니다. 이 때 URL의 맨 마지막에 “.git”이라는 확장자가 지정되어 있는지 확인하고 지정되어 있지 않다면 직접 추가합니다.

화면 하단부에서 Github 사이트의 아이디와 비밀번호를 입력합니다.

846b2901e76d28dbda83f093ca2647e9

 

Github의 저장소를 내 PC에 복사하는 과정이 진행됩니다. “Next”를 클릭합니다.

8293464e5faa7ac0d062814cb3896cd8

 

저장소가 복사될 경로를 지정합니다.

2bf8a0861af6f07e554f29f0762a3a4a

 

Github 사이트의 저장소가 내 PC에 복사되었습니다.

80ae14dbecebf0323ddc6d140094fa37

 

#02. 프로젝트를 Github에 등록하기 (팀장만 수행)

Git 무시 목록 설정

git시스템은 설정된 폴더 내의 모든 파일들에 대해서 버전을 관리 합니다. 이 파일들 중에는 이클립스가 관리하는 프로젝트 설정 파일들도 포함되어 있습니다. 하지만 이 파일을 버전관리에 포함시키면 여러 사람이 동시 작업을 진행할 경우 서로의 설치 경로가 다른 탓에 매번 다른 사람의 설정사항을 내 컴퓨터에 덮어 쓰게 되는 일이 발생하게 됩니다. 그래서 Git은 “.gitignore”라는 파일을 통해서 무시목록을 설정하도록 지원합니다.

Git에서 프로젝트를 내려 받은 폴더 (여기서는 /Users/leekh/전자정부9기/helloworld) 안에 “.gitignore”라는 파일을 생성합니다. 만약 내려받은 프로젝트에 이미 이 파일이 포함되어 있다면 편집합니다.

윈도우의 경우 폴더 창에서는 점(“.”)으로 시작하는 파일을 생성할 수 없고 Mac의 경우 점(“.”)으로 시작하는 파일이나 폴더는 숨김 항목으로 인식되기 때문에 “.gitignore”라는 파일은 “Sublime-Text”등의 텍스트 편집기에서 빈 파일을 생성하고 “다른 이름으로 저장”기능을 통해 파일이름을 지정해야 합니다.

생성한 파일에 다음의 내용을 입력합니다.

 

만약 파일을 새로 생성했다면 다음과 같이 생성된 파일이 표시됩니다.

 

만약 파일을 새로 생성했다면 생성된 파일을 마우스 우클릭 후 “Add to index”를 선택합니다.

 

생성 혹은 수정된 파일을 Git 서버에 등록하기 위하여 프로젝트를 마우스 우클릭하고 “Commit”을 선택합니다.

 

 

이클립스 하단부에 표시되는 화면을 통해서 등록될 파일을 확인하고 우측 상단의 “Comment Message”에 적절한 내용을 입력후 “Commit and Push” 버튼을 클릭합니다.

 

시스템에 등록되기 위한 확인 창이 표시됩니다. “Next”를 클릭합니다.

 

Git에 업로드 하기 위한 최종 확인 화면이 표시되면 “Finish”버튼을 클릭하여 업로드를 수행합니다.

 

업로드가 완료되면 확인 창이 표시됩니다. “OK”를 눌러 창을 닫습니다.

 

이제 이클립스의 우측 상단에서 아래 화면 갈무리에서 표시하는 아이콘을 눌러 “JavaEE”모드로 변경합니다.

bad0b3365809a110b9eb9ba89aa1b1dc

 

 

이클립스 프로젝트를 Github에 등록하기

Github 저장소에 프로젝트를 추가하기 위해서 새로운 프로젝트를 하나 만들도록 합니다.
이 때 이클립스의 Workspace는 복사된 Git 저장소와 관련 없는 별도의 경로로 지정되어야 합니다.
또한 프로젝트의 저장 경로는 기본값(Workspace안)으로 지정합니다.

652e7ae43a121ed5e497bc7b4d5888b8

 

여기에서는 프로젝트의 이름을 “GithubSample”이라고 지정하였습니다.

프로젝트 생성 후 팀 안에서 공통적으로 사용할 설정들은 미리 수행해 놓도록 합시다.
(jar파일 설정, config.xml 등의 설정파일 구성 등)

3bb6aae91bb496d462c0d24c5f0113bf

 

이제 생성된 프로젝트를 내 컴퓨터에 존재하는 Git 저장소에 등록해야 합니다.
프로젝트를 마우스 우클릭 후 “Team > Share Project”를 선택합니다.

3eba9c9cfd69c7127cfc720699b3bfaf

 

Git 설정 화면이 표시된다면 미리 준비해 둔 저장소 복재본을 선택해 주고 공유할 프로젝트를 선택합니다.
이 과정을 완료하면 Workspace 내에 존재하는 프로젝트가 내 컴퓨터 내의 Github 저장소로 이동됩니다.

3e5098b9efa8e707bb1560c384d35e18

 

Git 저장소 복사본(내 PC)의 프로젝트를 Github 사이트에 올릴 수 있도록 예약하는 과정을 Commit 이라고 합니다.
프로젝트를 마우스 우클릭하여 Commit을 선택합니다.

Commit을 여러번 수행하더라도
내 PC내의 저장소에서 나중에 Github 사이트와 동기화 할 수 있도록 예약을 해 놓는 것이지
Github에 실제로 반영되는 것은 아닙니다.

225ee607a0ec4cff31d89acaeb90e2c2

 

Commit 화면이 표시되면 왼쪽 상단에 커밋이 가능한 파일 목록이 표시됩니다. 대체로 새로 추가되거나 변경된 파일들이 표시됩니다. 커밋할 항목들을 선택하고 화면 아래쪽으로 드래그 합니다.

ed00029f0deba4132d6d23d48e058d9f

 

파일들이 등록된 것을 확인하고 우측 상단에 작업 내용을 간략히 명시합니다. 화면 우측 하단에 “Commit and Push” 버튼과 “Commit” 버튼이 있습니다.

  • Commit and Push : 내 저장소에 변경된 파일들을 등록함과 동시에 Github 사이트에도 자동 업로드 합니다.
  • Commit: 내 저장소에만 변경내역을 등록합니다. 이 작업은 Github 사이트에 업로드하기 위한 예약 절차라고 보면 됩니다. 나중에 따로 Push 기능을 수행하여 Commit된 내역들을 Github 사이트에 업로드할 수 있습니다.

여기서는 “Commit”을 선택하도록 합시다.

5aaea1a5c78f9e17ee1b479e3d0ccf6d

 

진행 과정에서 아이디와 비밀번호를 다시 묻는 화면이 표시될 수 있습니다.

6e4b8bd421a7d9755cd311a917823b06

 

“Commit”은 몇번을 수행하건 Github에 업로드를 예약해 놓는 과정일 뿐 Github에 실제 업로드 하는 것은 아닙니다.

Github에 “Commit” 내역을 업로드 하기 위해서는
이클립스에서 프로젝트를 마우스 우클릭 후 “Team > Push Branch ‘master'” 메뉴를 선택합니다.

a8776c2a352857cfe45fde4a880c9bc3

 

Push 처리가 진행됩니다. “next”를 누릅니다.

3d1b061206ab41a62c2465d734cc8648

 

“Push”할 Commit 내역이 표시됩니다. “Finish”를 클릭하면 그동안의 작업 내용이 “Github”사이트에 업로드 됩니다.

39ae71444495600969705d1d39ffe7d2

 

 

#03. Github 저장소에 등록된 프로젝트 import 하기
(나머지 팀원들이 수행)

Github에 등록된 프로젝트 동기화 하기

만약 A라는 사람이 Github에 프로젝트를 생성하고,
B가 Github 저장소의 복사본을 자신의 컴퓨터에 생성한 이후에
Github 사이트에 프로젝트가 등록되었다면
B의 컴퓨터에서는 사이트에 프로젝트가 생성되기 전의 복사본이 존재하기 때문에 프로젝트가 보이지 않을 수 있습니다.

이 경우에는 저장소의 변경사항을 Github 사이트에서 내려받아야 합니다.

Github 사이트에서 변경사항을 내려받는 과정을 “Pull”이라고 합니다.
이클립스의 우측 상단에서 “Git”모드로 전환하는 아이콘을 클릭하여 Github 저장소를 표시합니다.

2ed48d83d44c677a7e6d9cb5f1a97307

저장소를 마우스 우클릭 하여 “Pull” 항목을 클릭하면 Github 사이트에 새롭게 등록된 내용들이 내 PC의 저장소와 동기화 합니다.

d4c09d622636c40cbfaa5d2865ac05d7

 

동기화 된 프로젝트를 이클립스로 Import 하기

우선 이클립스에 Github 저장소를 등록하고 저장소 내의 프로젝트를 Import 해야 합니다.

3be66858385bbd7ad1b82413f1dbd7ac

 

Impot 경로를 “Git > Projects from Git”으로 선택합니다.

8f46d80070fdbc6bb7ae87af69d0a08c

 

“Existing local repository” 메뉴를 선택합니다.

5abe0a69731f403e7107ea2ca53621a4

 

저장소에 존재하는 프로젝트가 표시됩니다.

0da1a1f152928c0fbf833f8205ddb9ea

 

“next”를 클릭하여 프로젝트 import를 수행합니다.

580d266a587921b8f4739a55a0f80811

 

프로젝트 import가 완료됩니다.

dd19a814667ea379c03a159dcd1ccd8e

 

 

#04. 프로젝트를 import 한 이후 설정하기

Github 저장소에서 프로젝트를 import 한 직후에는
Dynamic Web Project가 아래 화면 갈무리와 같이 일반 Java 프로젝트 형태로 인식되기 때문에 약간의 설정을 진행해야 합니다.

3d5e73394e1b7c89ad3dfe5aceb3e42a

 

프로젝트를 마우스 우클릭하여 맨 밑의 “Properties”를 선택하여
설정화면을 열고 왼쪽 트리에서 “Project Facets” 항목을 선택합니다. 화면에 표시되는 “Convert to faceted from…” 링크도 클릭합니다.

오른쪽의 화면에서 “Dynamic Web Module”, “Java”, “Javascript” 항목을 선택합니다.

 

“Dynamic Web Module” 항목에 대한 Runtime을 이클립스에 등록되어 있는 톰켓 서버로 지정해 줍니다.
모든 등록이 완료되면 우측 하단의 “Apply and Close” 버튼을 눌러 화면을 닫습니다.

 

프로젝트 이름을 마우스 우클릭하고, “New > Source Folder” 항목을 선택합니다.

1c631195db091878ed43f18667e1c3eb

 

소스파일이 저장되는 폴더를 지정하기 위한 화면이 표시됩니다. 우측의 두 번째 “Browse” 버튼을 클릭하고, “src” 폴더를 지정해 줍니다.

b44cad505a75399485a4a5530fe4470e

 

마지막으로 프로젝트의 설정화면을 다시 열고 “Java Build Path” 항목에서 라이브러리를 추가합니다.

3dbcbb14dad951bd7cc199539e523828

 

첫 번째로 추가할 라이브러리는 JRE System Library 입니다.

bd6c2a8e6128208c0dbc4cfaafb2cbf3

 

현재 사용하고 있는 JDK의 버전을 선택합니다.

49d40770dd74842671e24e20dda3292d

 

다시 한번 라이브러리 선택화면을 열고 “Server Runtime” 항목을 선택합니다.

ebab625dc406632cb9f056e96efb686b

 

이클립스에 설정되어 있는 Tomcat의 버전을 선택해 줍니다.

9e05883a0dc8a9840b9008dafd59d3d0

 

 

#06. 소스코드 변경사항 올리기 / 내려받기

이제 모든 팀원들이 프로젝트를 진행합니다.

프로젝트 이름의 오른쪽에 표시되는 화살표는 현재 Github 사이트에 Push(업로드)가능한 Commit 수를 의미합니다.

즉, 아래의 화면은 현재 1건의 Commit이 존재하며, 이 내역이 아직 서버에 Push되지 않았음을 뜻합니다.

소스코드의 왼쪽에 표시되는 “>” 표시는 소스코드가 변경되었음을 의미합니다. “?”는 새로 추가된 항목을 의미합니다.

“>”나 “?”가 표시된 항목들은 Commit이 수행되어야 함을 의미합니다.

92a9a20b3f62fc9e96e9792d3434f88e

 

소스코드에 “>”와 “?” 항목이 표시되어 “Commit”을 수행하였습니다.
“Commit” 후에 Github 사이트에 등록 가능한 Commit이 두 건임이 표시되고 있습니다.
이제 이 항목을 Push하고 나면 모든 변경 내역이 Github 사이트에 업로드 됩니다.

나머지 팀원들은 Github에 등록된 항목들을 “Pull” 메뉴를 선택하여 자신의 프로젝트에 내려받아 반영할 수 있습니다.

4b457f4262c587c5735e63de51782458

 

1 thought on “Eclipse에서 Github 연동하기

답글 남기기