이 포스팅은 “그린컴퓨터아카데미”에서 진행중인 NCS기반의 교육과정에서 프로젝트 형상관리 능력단위에 대한 보조 교육자료로 활용되고자 작성되었습니다.
본 자료에 대한 무단복제를 금합니다.
#00 프로젝트 생성 및 팀원 초대하기
팀장 역할을 하는 사람이 다음의 포스팅을 참고하여 프로젝트를 생성하고 팀원을 초대합니다.
#01. 이클립스로 GitHub 저장소 복제하기 (모든 팀원들이 진행)
이클립스의 “Window > Perspective > Open Perspective > Other” 메뉴를 선택합니다.
이클립스에 추가할 새로운 창 조합 선택 항목들이 표시됩니다. 이 창에서 “Git”을 선택합니다.
Github에 생성된 프로젝트의 URL을 복사해 둡니다.
이클립스에서 창 배열이 “Git” 저장소와 연결된 형태로 변경됩니다. 왼쪽의 트리에서 마우스 우클릭 후 표시되는 메뉴를 선택합니다.
“Clone Git Repository” 화면이 표시되면서 미리 복사해 둔 URL을 기반으로 입력항목들이 자동으로 설정됩니다. 이 때 URL의 맨 마지막에 “.git”이라는 확장자가 지정되어 있는지 확인하고 지정되어 있지 않다면 직접 추가합니다.
화면 하단부에서 Github 사이트의 아이디와 비밀번호를 입력합니다.
Github의 저장소를 내 PC에 복사하는 과정이 진행됩니다. “Next”를 클릭합니다.
저장소가 복사될 경로를 지정합니다.
Github 사이트의 저장소가 내 PC에 복사되었습니다.
#02. Git 무시 목록 설정
git시스템은 설정된 폴더 내의 모든 파일들에 대해서 버전을 관리 합니다. 이 파일들 중에는 이클립스가 관리하는 프로젝트 설정 파일들도 포함되어 있습니다. 하지만 이 파일을 버전관리에 포함시키면 여러 사람이 동시 작업을 진행할 경우 서로의 설치 경로가 다른 탓에 매번 다른 사람의 설정사항을 내 컴퓨터에 덮어 쓰게 되는 일이 발생하게 됩니다. 그래서 Git은 “.gitignore”라는 파일을 통해서 무시목록을 설정하도록 지원합니다.
Git에서 프로젝트를 내려 받은 폴더 (여기서는 /Users/leekh/전자정부9기/helloworld) 안에 “.gitignore”라는 파일을 생성합니다.
윈도우의 경우 폴더 창에서는 점(“.”)으로 시작하는 파일을 생성할 수 없고 Mac의 경우 점(“.”)으로 시작하는 파일이나 폴더는 숨김 항목으로 인식되기 때문에 “.gitignore”라는 파일은 “Sublime-Text”등의 텍스트 편집기에서 빈 파일을 생성하고 “다른 이름으로 저장”기능을 통해 파일이름을 지정해야 합니다.
생성한 파일에 다음의 내용을 입력합니다.
# 컴파일 결과물 제외 *.com *.class *.dll *.exe *.o *.so # 로그파일 제외 *.log # 운영체제에서 만드는 시스템 파일들 제외 .DS_Store .DS_Store? ._* .Spotlight-V100 .Trashes ehthumbs.db Thumbs.db # 이클립스에서 생성하는 프로젝트 정보 파일 제외 .metadata bin/ tmp/ *.tmp *.bak *.swp *~.nib local.properties .settings/ .loadpath .recommenders .project .externalToolBuilders/ *.launch .classpath .factorypath .buildpath .target
파일이 저장되고 나면 다음과 같이 생성된 파일이 표시됩니다.
생성된 파일을 마우스 우클릭 후 “Add to index”를 선택합니다.
추가된 파일을 Git 서버에 등록하기 위하여 프로젝트를 마우스 우클릭하고 “Commit”을 선택합니다.
이클립스 하단부에 표시되는 화면을 통해서 등록될 파일을 확인하고 우측 상단의 “Comment Message”에 적절한 내용을 입력후 “Commit and Push” 버튼을 클릭합니다.
시스템에 등록되기 위한 확인 창이 표시됩니다. “Next”를 클릭합니다.
Git에 업로드 하기 위한 최종 확인 화면이 표시되면 “Finish”버튼을 클릭하여 업로드를 수행합니다.
업로드가 완료되면 확인 창이 표시됩니다. “OK”를 눌러 창을 닫습니다.
이제 이클립스의 우측 상단에서 아래 화면 갈무리에서 표시하는 아이콘을 눌러 “JavaEE”모드로 변경합니다.
#03. 프로젝트를 Github에 등록하기 (1명만 수행)
Github 저장소에 프로젝트를 추가하기 위해서 새로운 프로젝트를 하나 만들도록 합니다.
이 때 이클립스의 Workspace는 복사된 Git 저장소와 관련 없는 별도의 경로로 지정되어야 합니다.
또한 프로젝트의 저장 경로는 기본값(Workspace안)으로 지정합니다.
여기에서는 프로젝트의 이름을 “GithubSample”이라고 지정하였습니다.
프로젝트 생성 후 팀 안에서 공통적으로 사용할 설정들은 미리 수행해 놓도록 합시다.
(jar파일 설정, config.xml 등의 설정파일 구성 등)
이제 생성된 프로젝트를 내 컴퓨터에 존재하는 Git 저장소에 등록해야 합니다.
프로젝트를 마우스 우클릭 후 “Team > Share Project”를 선택합니다.
Git 설정 화면이 표시된다면 미리 준비해 둔 저장소 복재본을 선택해 주고 공유할 프로젝트를 선택합니다.
이 과정을 완료하면 Workspace 내에 존재하는 프로젝트가 내 컴퓨터 내의 Github 저장소로 이동됩니다.
Git 저장소 복사본(내 PC)의 프로젝트를 Github 사이트에 올릴 수 있도록 예약하는 과정을 Commit 이라고 합니다.
프로젝트를 마우스 우클릭하여 Commit을 선택합니다.
Commit을 여러번 수행하더라도
내 PC내의 저장소에서 나중에 Github 사이트와 동기화 할 수 있도록 예약을 해 놓는 것이지
Github에 실제로 반영되는 것은 아닙니다.
Commit 화면이 표시되면 왼쪽 상단에 커밋이 가능한 파일 목록이 표시됩니다. 대체로 새로 추가되거나 변경된 파일들이 표시됩니다. 커밋할 항목들을 선택하고 화면 아래쪽으로 드래그 합니다.
파일들이 등록된 것을 확인하고 우측 상단에 작업 내용을 간략히 명시합니다. 화면 우측 하단에 “Commit and Push” 버튼과 “Commit” 버튼이 있습니다.
- Commit and Push : 내 저장소에 변경된 파일들을 등록함과 동시에 Github 사이트에도 자동 업로드 합니다.
- Commit: 내 저장소에만 변경내역을 등록합니다. 이 작업은 Github 사이트에 업로드하기 위한 예약 절차라고 보면 됩니다. 나중에 따로 Push 기능을 수행하여 Commit된 내역들을 Github 사이트에 업로드할 수 있습니다.
여기서는 “Commit”을 선택하도록 합시다.
진행 과정에서 아이디와 비밀번호를 다시 묻는 화면이 표시될 수 있습니다.
“Commit”은 몇번을 수행하건 Github에 업로드를 예약해 놓는 과정일 뿐 Github에 실제 업로드 하는 것은 아닙니다.
Github에 “Commit” 내역을 업로드 하기 위해서는
이클립스에서 프로젝트를 마우스 우클릭 후 “Team > Push Branch ‘master'” 메뉴를 선택합니다.
Push 처리가 진행됩니다. “next”를 누릅니다.
“Push”할 Commit 내역이 표시됩니다. “Finish”를 클릭하면 그동안의 작업 내용이 “Github”사이트에 업로드 됩니다.
#04. Github 저장소에 등록된 프로젝트 import 하기
(나머지 팀원들이 수행)
우선 이클립스에 Github 저장소를 등록하고 저장소 내의 프로젝트를 Import 해야 합니다.
Impot 경로를 “Git > Projects from Git”으로 선택합니다.
“Existing local repository” 메뉴를 선택합니다.
저장소에 존재하는 프로젝트가 표시됩니다. (만약 이 때 프로젝트가 표시되지 않는 경우에 대한 처리 방법은 밑에서 다룹니다.)
“next”를 클릭하여 프로젝트 import를 수행합니다.
프로젝트 import가 완료됩니다.
#05. Import 할 프로젝트가 보이지 않는 경우
만약 A라는 사람이 Github에 프로젝트를 생성하고,
B가 Github 저장소의 복사본을 자신의 컴퓨터에 생성한 이후에
Github 사이트에 프로젝트가 등록되었다면
B의 컴퓨터에서는 사이트에 프로젝트가 생성되기 전의 복사본이 존재하기 때문에 프로젝트가 보이지 않을 수 있습니다.
이 경우에는 저장소의 변경사항을 Github 사이트에서 내려받아야 합니다.
Github 사이트에서 변경사항을 내려받는 과정을 “Pull”이라고 합니다.
이클립스의 우측 상단에서 “Git”모드로 전환하는 아이콘을 클릭하여 Github 저장소를 표시합니다.
저장소를 마우스 우클릭 하여 “Pull” 항목을 클릭하면 Github 사이트에 새롭게 등록된 내용들을 내 PC의 저장소와 동기화 합니다.
#05. 프로젝트를 import 한 이후 설정하기
Github 저장소에서 프로젝트를 import 한 직후에는
Dynamic Web Project가 아래 화면 갈무리와 같이 일반 Java 프로젝트 형태로 인식되기 때문에 약간의 설정을 진행해야 합니다.
프로젝트를 마우스 우클릭하여 맨 밑의 “Properties”를 선택하여
설정화면을 열고 왼쪽 트리에서 “Project Facets” 항목을 선택합니다.
오른쪽의 화면에서 “Dynamic Web Module”, “Java”, “Javascript” 항목을 선택합니다.
프로젝트 이름을 마우스 우클릭하고, “New > Source Folder” 항목을 선택합니다.
소스파일이 저장되는 폴더를 지정하기 위한 화면이 표시됩니다. 우측의 두 번째 “Browse” 버튼을 클릭하고, “src” 폴더를 지정해 줍니다.
마지막으로 프로젝트의 설정화면을 다시 열고 “Java Build Path” 항목에서 라이브러리를 추가합니다.
첫 번째로 추가할 라이브러리는 JRE System Library 입니다.
현재 사용하고 있는 JDK의 버전을 선택합니다.
다시 한번 라이브러리 선택화면을 열고 “Server Runtime” 항목을 선택합니다.
이클립스에 설정되어 있는 Tomcat의 버전을 선택해 줍니다.
#06. 소스코드 변경사항 올리기 / 내려받기
이제 모든 팀원들이 프로젝트를 진행합니다.
프로젝트 이름의 오른쪽에 표시되는 화살표는 현재 Github 사이트에 업로드 가능한 Commit 건수를 의미합니다.
즉, 아래의 화면은 현재 1건의 Commit이 존재하며, 이 내역이 아직 서버에 Push되지 않았음을 뜻합니다.
소스코드의 왼쪽에 표시되는 “>” 표시는 소스코드가 변경되었음을 의미합니다. “?”는 새로 추가된 항목을 의미합니다.
“>”나 “?”가 표시된 항목들은 Commit이 수행되어야 함을 의미합니다.
소스코드에 “>”와 “?” 항목이 표시되어 “Commit”을 수행하였습니다.
“Commit” 후에 Github 사이트에 등록 가능한 Commit이 두 건임이 표시되고 있습니다.
이제 이 항목을 Push하고 나면 모든 변경 내역이 Github 사이트에 업로드 됩니다.
나머지 팀원들은 Github에 등록된 항목들을 “Pull” 메뉴를 선택하여 자신의 프로젝트에 내려받아 반영할 수 있습니다.
The post Eclipse에서 Github 연동하기 appeared first on 아이티페이퍼.