이클립스에서 깃허브와 연동 방법은 이전에 기록한 적이 있다. 깃허브에서 레포지토리를 만들어서 해당 레포를 클론 해서 사용하면 연동이 가능하다. 하지만 이렇게 깃허브와 연동했을 때, 이클립스의 프로젝트 명이 하나의 폴더로 묶여서 업로드 되어지는게 싫었다. 그래서 다른 방법은 없을까 하다가 검색 끝에 알아낸 결과를 기록하고자 한다.
사실 방법은 그렇게 다르지 않다. 이전에 기록했던 방법과 크게 다른점이 없다. 깃허브에 업로드되었을 때, 이클립스의 프로젝트명이 폴더로 묶여서 보이지 않는다는 점. 다만 브랜치 설정을 좀 해줘야 한다는 점.. 이 부분에서 이해가 안돼서 시간을 많이 잡아먹었다 ㅠ 그래도 해결했으니..
우선 업로드 하기 전에 깃허브에서 레포는 미리 생성해두자!
생성하는 방법은 이전에도 설명했기 때문에 따로 캡처하지 않았다. 그리고 생성 시 README 파일은 같이 생성해두어야 나중에 에러 메시지가 안뜬다. 그럼 한번 알아보자!
1. 이클립스 프로젝트 깃 레포지토리 만들기
① 업로드 하고자 하는 프로젝트에서 우측 마우스 클릭한 후 > Team > Share Project... 를 클릭해준다.
② 이전에 깃허브 레포를 생성하고 클론한후 처리할 때는 c드라이브에 생성되어 있는 git폴더에 깃허브 레포지토리 명으로 생성이 되어 있었다. 하지만 지금은 클론 하여 생성하는 것이 아니라 프로젝트를 그대로 레포로 사용할 거라 아래 체크박스를 선택해준다.
선택하고 나면 아래와 같은 화면이 나온다. 그럼 Create Repository를 클릭해주자. 그럼 프로젝트가 있는 폴더에서 바로 깃 레포가 생성된다.
그 후 Finish 버튼 클릭 하면 끝!
2. 이클립스 Git Repositories Remotes 설정하기
① 이클립스 Git Repositories로 이동해 보면 아래와 같이 생성된 git 레포를 확인할 수 있다. 여기서 Remotes에서 우측 마우스 클릭 후 Create Remote.. 를 클릭해준다.
② 여기선 Create 버튼 클릭후 넘어가 준다.
③ Change.. 버튼 클릭
④ 여기서 깃허브 레포 주소를 URI에 넣어준다. 만약 프로젝트 이름과 깃허브 레포 이름이 동일하다면 자동으로 들어간다.
⑤ 만약 깃허브 레포 생성 시 README를 같이 생성하지 않았다면 아래와 같은 경고창이 나올 수 있다. 레포를 연결할 수 없고 푸시 중에 내부 예외가 발생했다는 내용인데.. 우선 이 부분은 그냥 OK 버튼 누르고 넘어갔다. 사실 잘 모르겠다 ㅠ
3. 생성한 origin > Configure Fetch 설정하기
① 위 과정을 하고 나면 Remotes에 origin이라는 폴더가 보인다. Configure Fetch.. 를 선택해준다.
② 아래와 같은 창이 뜨는데 여기서 Add.. 클릭
③ Source 영역에서 아래와 같이 main을 입력하면 main branch가 보인다. 저걸 선택하고 넘어간다.
④ Finish 버튼을 클릭해준다.
⑤ 아래와 같이 설정이 되면 Save and Fetch 버튼을 눌러준다.
⑥ 그럼 아래와 같이 알림창이 뜬다.
4. master branch 에서 main branch로 변경하여 push 하기
① 위 작업이 모두 끝났으면 이제 Commit 메시지를 작성하고 Commit 버튼을 누른 후, Push HEAD.. 버튼을 눌러준다.
② 그럼 아래와 같은 창이 뜬다. 여기서 Branch를 main 브랜치로 변경한 후 Push 해준다. 만약 여기서 브랜치를 변경해주지 않으면 master 브랜치로 업로드가 된다.
③ 그럼 아래와 같은 오류가 뜬다. 아마 Local 쪽에 master branch가 없어서 그런 거 같은데... 이 작업을 하고 나면 master branch가 생긴다... 이상하다 정말 ㅠ
④ 아래와 같이 Branches에서 main branch에서 마우스 우클릭 후 Merge를 선택해준다. 그럼 아래와 같은 알림 창이 뜨면 정상적으로 처리된 거다.
⑤ 이제 다시 푸시를 하면 아래와 같이 된다. 이렇게 되면 업로드가 정상적으로 완료된 거다. 이제 마지막으로 깃허브만 확인해보면 된다.
5. 깃허브 업로드 확인하기
깃허브에 로그인해서 레포를 확인해보면 브랜치도 main으로 잘 올라오고 프로젝트명이 폴더로 올라오는 게 아니라 소스코드가 그대로 올라온 걸 확인할 수 있다.
갑자기 프로젝트하다가 이런식으로 올리고 싶어서 알아보면서 해봤지만 이거 맞는 방법인지 모르겠지만.. 업로드에는 성공했다! 사실 그냥 파일을 직접 깃허브에 업로드해도 된다. 하지만 이클립스로 해보고 싶.. 었다 ㅠ . 그냥 이전 방법처럼 클론해서 하는게 더 편할 수도 있겠다. 이전 방법이 궁금하다면 아래 링크를 클릭하면 된다.
그리고 나중에 협업을 하기 위해서는 .settings / .classpath / .project 등의 파일은 제외시켜주는 것이 좋다. 그러기 위해서는 gitignore설정을 미리 해주고 push 해주면 되는데 그건 다음 시간에 알아보도록 하자!