이번에 조별 프로젝트를 처음 진행하면서 Git에 대한 소중함을 다시한번 깨닫게 되었다.
그래서 팀장(조장)과 팀원(조원)의 각각의 역활에 따른 이클립스 GitHub연동 및 협업 방법에 대해서 정리해보려고 한다.
1.팀장(프로젝트 관리자)의 역활
먼저 프로젝트를 관리자의 repository에 생성해야한다. 이글을 보고있다면 기본적으로 Github에 가입이 되어있고
Token까지 발급 받았을것이다.
Token을 발급받지 않았다면, 구글에서 검색후 Token까지는 발급받아 온 후 이글을 참고하길 바란다.
먼저 기본적으로 구성을 해본 Project의 기본 구성이다. 필요한 Library 파일들과 기본으로 사용해볼수 있는 JSP Template 파일, 그리고 Java source에 JDBC 관련 클래스를 몇개 추가했다. 이제 이 Project를 repository에 업로드 해보자
일단 Github에 처음 가입했다면 repository를 생성해야한다. 이는 가상 저장소다. 이곳에서 우리는 Project를 관리자가 업로드 한후, 멤버(팀원)들을 초대해서 Project 관리를 하게 된다.
github에 로그인을 했다면 우측 상단에 프로필 사진을 클릭후 your repository를 클릭하자.
그럼 New라는 초록색 버튼이 보일것이다. repository를 새로 생성하는 버튼이다. 눌러주자.
그럼 아래와 같은 화면이 나올것이다. repository 이름을 적어주고, 이 저장소를 공개로 할지 비공개로 할지를 체크해주자.
특별하게 이외에 만져줄것은 없다. gitignore라던지 license 부분은 나도 잘 모른다... 넘어가도록 하겠다.
설정이 완료됐다면 Create repository를 눌러서 저장소를 생성해주면 된다.
생성이 완료되면 바로 아래와 같은 화면이 뜬다. 여기서 https의 git허브 주소를 잘 복사두자. 이건 추후 관리자 및 팀원들에게 전달해서 repository를 clone할때 사용된다.
주소를 복사해뒀으면 다음으로 이제 해당 repository를 공동 작업할 공동 작업자(팀원)를 지정해줘야한다. 해당 주소창 위에 Setting을 눌러 들어가자
그리고 왼쪽 메뉴에 보면 Collaborators가 있다. 클릭해서 들어가자
들어가면 Manage access라는 창이 뜨고 add people 버튼이 있다. 눌러주자
그럼 아래와같은 창이 뜰것이다. 팀원들의 깃허브 Email이나 깃허브 id를 적어서 추가해주자. 5명이면 5명 3명이면 3명 다 등록해주자
등록을 하고 나면 이런식으로 목록이 뜰것이다. 해당 팀원의 이메일이나, 혹은 해당 팀원이 깃허브에 로그인하면 알람이 뜰것이다. 초대를 수락해야 공동작업자로써의 권한이 완료된다.
Pending Invite는 아직 팀원이 수락을 안한것이고, 아무 표시가 안뜨는 팀원은 이미 수락을 완료한 팀원이다.
그리고 수락을 완료한 팀원 프로필 밑에는 Collaborator라고 표기된다.
그렇지 않은 팀원은 Awating 팀원명's response라고 뜬다. 팀원의 응답을 기다리고 있다. 정도로 해석할수 있겠다.
공동작업자 권한이 없다면 프로젝트를 연동하고 import를 해올수는 있지만 Commit과 branch를 이용할수가 없다.
따라서 같이 코드를 작성할 팀원은 꼭 이 공동작업자 권한 설정을 필수로 마쳐야 한다.
이제 이클립스로 가자. 준비해둔 Project를 업로드 할시간이다.
먼저 이클립스 메뉴의 show view - show view - other에 들어가자
그다음 뜨는 창에서 git 폴더를 선택후 체크된 두가지를 open 하자.
그리고 git Repositories 창을 들어가서 빈칸에 마우스 우클릭 -> Clone a Git repository를 누르거나
왼쪽에 표시된 버튼을 누르자.
그럼 아래와같은 창이 뜬다.
아까 repository를 만들고 나서 생성된 URI를 붙여넣어주자.
그러면 Host와 Repository Path는 자동으로 입력되며
밑에 User에는 깃허브 아이디를 입력해주고, Password란에는 깃허브 로그인할때 사용하는 Password가 아닌
발급받은 Token Key를 입력해줘야한다. 입력했다면 Next를 눌러주자.
현재는 빈 repository기때문에 아무것도 뜨지않을것이다. Next를 눌러주자.
이런 창이 뜰것이다. Git의 repository를 local 저장소에 저장할 위치를 정해주고(보통 그냥 Default 값으로 정해진 폴더를 사용하자) 나머지 옵션들은 선택해도 되고 안해도 되고 취향이다. Finish를 눌러주자.
그럼 이렇게 master로 된 clone repository가 생성되었을것이다. 이제 프로젝트를 업로드 하는일만 남았다.
업로드할 Project를 선택후 우클릭 -> Team -> Share Project를 누르자
그럼 아래와 같은 창이 뜨면서 어느 repository에 올릴것인지 선택할수가 있다. 방금 생성한 repository를 선택한후 Finish를 눌러주자.
그럼 이렇게 프로젝트 명 옆에 repisitory 명과 본인의 등급?을 나타내주는 표시가 뜨며
프로젝트에 ? 표시가 뜨고 안에 있는 소스코드파일들에도 ? 가 뜰것이다. repository에서 처음보는 파일들이라는것이다.
업로드는 지금 된것이지만, 아직 Web상 git에서는 확인이 안될것이다. Commit과 Push를 진행해줘야 웹에서도 확인 가능하다.
밑에 추가로 설명하겠지만 일단 지금은 팀원들에게 공유할 기본 틀 프로젝트를 업로드 하는것이기때문에 Branch 생성 없이 바로 Commit Push를 해보겠다.
프로젝트 마우스우클릭 -> team -> commit을 들어가자.
그럼 아래와 같은 창이 뜬다.
인터넷 다른사람들 글을 보면 Settings나 bin폴더등 개인적인 세팅값에 대해서 ignore처리를 해준후에 실제 소스코드만 업로드 하는것이 좋다고 하는데... 아직거기까지는 만져보지 못했다.
이런 창이 뜰것이다. Unstaged changes는 업로드 되지않은 수정된 파일? 이라고 생각하면 좋을거같다.
Add all files버튼 (초록색 ++ 2개버튼)을 눌러주면 모두 하단의 Staged changes로 이동된다
그리고 Commit을 하려면 한글자라도 멘트를 남겨줘야한다. 현재는 Branch 생성된게 없으니 바로 프로젝트에 올라가면서 Commit 되고 Push 될것이다.
이렇게 Comment를 남겨주고, Commit and Push를 눌러주자. 원래는 Commit후에 다시 검토후에 Push해주는것이 좋겠지만 지금은 최초 업로드기때문에 바로 Push까지 진행하겠다.
꼭 확인하자. 현재는 Master 권한에 Branch에 올라가며 Commit과 Push가 동시에 이뤄진다는 뭐 그런 말이다.
Next를 눌러주자.
아이디 비밀번호 입력하는 창이 뜬다. Clone repository 할때처럼 아이디는 깃허브 아이디, 비번엔 Token값을 입력해준다.
push 하겠냐는 창이다. Finish를 눌러주자. 그럼 다시한번 아이디 비번 입력하는 창이 뜬다.
동일하게 깃허브 아이디와 토큰값을 입력해주자.
그럼 이렇게 완료창이 뜬다. 업로드가 된것이다.
Github 사이트에서 확인해보자 해당 repository를 들어가보면
이렇게 프로젝트가 생성된것을 알수 있다.
팀장도 branch를 생성해주는것이 좋다. branch 생성없이 Commit Push를 진행하게 되면 팀장은 Master의 권한이기때문에 바로 Clone repository에 저장된 원본 프로젝트에 바로 변경점이 적용된다.
그럼 다른 팀원들의 Branch를 나중에 Merge(병합) 할때 문제가 생길수도있다. Branch는 Branch끼리 모아서 한번에 Full Merge하는것이 정신건강에 이롭다.
따라서 최초 프로젝트 업로드 이후에는 팀장도 Branch를 생성하여 코드작업을 한후, Pull까지만 진행하고
별도로 master로 변경하여 merge해주는것이 좋다고 생각한다.
다시 프로젝트에서 마우스우클릭 -> Team - > Switch to -> New Branch로 들어가자.
그리고 branch 명을 입력후 finish를 눌러주자
그리고 다시 Team - Switch To 에 들어가보면 생성한 Branch명이 있을것이다. 클릭해주면 Project옆 이름이 Master에서 해당 Branch명으로 변경될것이다.
일단 여기까지가 처음 팀장의 몫이다.
다음은 팀원편에서 팀원들이 어떻게 해당 프로젝트를 연동하고, 가져오고, 그리고 수정하고 업로드하는지 알아보도록 하겠다.
'Study > Tip' 카테고리의 다른 글
ChatGPT 사용시 함께 사용해주면 좋은 크롬 확장프로그램 프롬포트지니 (0) | 2023.02.17 |
---|---|
다음 우편번호 api 사용하기 (0) | 2023.01.27 |
깃허브 사용법 참고할만한 문서 (0) | 2023.01.15 |
Eclipse(이클립스) Dynamic Web Project 생성시 Web.xml이 없을때 별도 생성 방법 (0) | 2022.12.29 |
그림판으로 간단하게 RGB 값 추출해서 RGB 코드 알아내기 (0) | 2022.12.21 |