본문 바로가기
개발자의 공부방/에디터

이클립스&깃허브] 이클립스와 깃허브 연동하기

by 쌈빡한 쥬니준 2019. 1. 15.


강좌들이 이클립스 구버전을 사용한 강좌가 많아서 그나마 최신버전으로 작성해봅니다!








현재 제 환경과 버전입니다.


환경 : window 10

이클립스 ver : 2018-09 (4.9.0)

※ 현재는 이클립스 2018-12 가 최신버젼인 듯 합니다(?)









들어가기에 앞서...


깃허브 가입은 필수!

깃허브 내에 repository (저장소) 생성도 필수!








1. 깃허브에 업로드할 프로젝트 선택 (생성)

학습 위주이기 때문에 TEST 라는 이름으로 Dynamic Web Project 프로젝트를 생성했습니다.

[Local repository master] 는 신경쓰지마세요~







2. Git Repositories 창 띄우기

git 업로드 형식을 선택하기 위한 창을 띄웁니다.







3. Git 업로드 형식 선택하기

Git Repositories 로 열게 되면 왼쪽에 총 세가지가 보입니다.


1) Add an existing local Git repository

: 기존 로컬에 있는 데이터를 Git repository(깃 저장소) 에 추가 합니다.


2) Clone a Git repository

: Git repository 에 있는 저장소를 이클립스 내에 복사합니다.


3) Create a new local Git repository

: 새로운 로컬 Git repository 를 만듭니다.


※ 오른쪽 사진에 파란색으로 선그은 부분이 왼쪽과 동일한 기능을 합니다


 





4. Clone a Git repository 방법으로 진행

아래와 같이 본인의 깃허브 주소와 아이디를 적습니다

user 에는 깃허브 이메일을 적고 아래에는 비번을 입력합니다.

URI 를 입력하게 되면 Host, Repository path 는 자동으로 입력됩니다.



next 해주세요



또 한번 next 해주세요!



Destination 은 로컬에 저장될 repository (저장소)의 경로를 설정하는 부분입니다.

※ 여기서 말하는 로컬은 내 컴퓨터의 하드를 말합니다.


잠깐 Git의 저장소에 대해 짧막하게 나열하면...


Git은 총 세가지의 저장소로 구분되어 있는데요


첫번째는 작업디텍토리 (실제파일)

두번째는 인덱스 (준비영역)

세번째는 헤드(최종적으로 확정되는 commit 영역)


이렇게 구성되어 있습니다.


여기서 나오는 Destination 은 선택된 프로젝트를 Destination Directory에 임시로 저장되는 곳이고,

다음에 나올 Local repsository 는 내 PC 에 파일로 저장되는 개인 저장소를 뜻합니다.



GIt Repositories 를 보면 본인이 지정한 경로와 함께 무언가들이 여러개 생성이 되어 있는데요

저는 jun [master] 라고 되어 있습니다.

즉, Git과 이클립스 내의 프로젝트가 연동되기 위한 설정이 어느정도 진행 되고 있다는 말이지요.






5. 프로젝트를 업로드를 시킨다.

프로젝트가 보이는 java EE 혹은 java 를 눌러서 Team → Share Project 를 선택!




Share Project 에 Repository 부분이 위에서 언급한 Local repository 경로 입니다.



Create 를 눌러서 기본 C로 되어 있는데 저는 따로 D에 만들어 놨습니다.



이제 이 경로가 프로젝트의 데이터들이 저장되는 곳입니다. (java, html, jsp, css 등..)

실제 경로를 들어가 보시면 이클립스 내에서 보이는 프로젝트의 구성과 같은 것을 보실 수 있습니다!







6. 동기화하는 단계합니다.

Commit&Push를 통해서 Local repository 와 Remote repository 를 동기화합니다.

선택하신 프로젝트를 자세히 보시면 ? 물음표가 떠있습니다.

여기서 Add to Index 를 선택하시면 Unstaged Changes 에 있던 요소들이 아래 Staged Changes 로 내려갑니다!




이런식으로요!



이제는 Commit 을 해줍니다!

Commit 전에 Commit Massage 에 이 프로젝트에 대한 설명을 작성해줍니다! (지금은 TEST 라서 굳이 쓰시지 않으셔도 됩니다.)


※ Tip

커밋을 하면 Git hub에 이력이 남는데요 중요한 작업을 하게 되면 이 이력이 남는 점을 활용해 간단한 메시지

즉, 수정했을 때 무엇무엇 때문에 수정을 했다 하는 것을 입력합니다.


주로


첫번째 줄: Commit 내의 변경 내용을 요약

두번째 줄: 빈 칸

세번째 줄: 변경한 이유


위 형식으로 메시지를 작성한다고 합니다.




Commit 을 하고 Git Respositories 를 보시면 아래와 같이 무언가(?)가 변한게 보이실 겁니다.




7. Branch 'master' Push 를 합니다.

이제 Push Branch 'master' 를 진행하게 되는데요

Git Hub 의 저장소 (업로드) 로 들어가기 전의 단계라 볼 수 있습니다.

현재의 내용은 로컬 저장소 Head 안에 머물고 있는데 이 걸 push 하면 깃허브에 업로드가 되는 것이죠.


branch (가지) :

저장소를 새로 만들면 기본으로 master 가지가 만들어집니다.

만약 다른 가지를 이용해서 개발을 진행하고 나중에 개발이 완료되면 master 가지로 돌아와 병합을 하면 됩니다.




아래와 같이 창이 뜨면서 처음에 했던 것처럼 본인의 이메일과 함께 비번을 입력해줍니다.



Preview 를 누르시고...



병합을 한다고 하시고 또 한번 Preview 를 누릅니다.



어? 뭔가 이상합니다?? [rejected - non-fast-forward]...? 이게 뭐죠...?

일단 Push 를 누릅니다.



이메일과 비번을 또 입력하라고 나오네요!

잘못 입력하면 다시 입력하라고 같은 창이 나옵니다.



Git Repositories 에 보시면 Branches 부분에 Remote Tracking 있는 부분에 하위 카테고리가 생성이 되어야하는데...

지금 위에 있는 부분에서는 생성이 되어있지 않습니다 [카테고리를 다 펼쳐서 캡처를 못 했네요....]



이와 같이 되어 있어야 정상입니다.


왜 생성이 되지 않았을까요?


이유는 제대로 포워딩이 안된것이였습니다 -_-;

위에 이상하다고 언급한 부분에 [rejected - non-fast-forward] 이 메시지가 출력되어있지요.



마지막에서도 또 [rejected - non-fast-forward] 메시지가 출력되어 있습니다...ㅠㅠ

사실 여기까지 오셨으면 잘 됐을겁니다...

제가 혹시 잘못한 것 같아서 다시 다른 프로젝트로 해보니 아주 잘되네요!






==============================================================================================================================

이 오류를 고치는 방법은 또 따로 있습니다!

  [rejected - non-fast-forward]

==============================================================================================================================










자 ! 이제는 Git Hub 에서 확인을 하면 됩니다!


web_test 라는 폴더가 생성 됐습니다!


1)PagingEx_TEST 는 확인 차 다시 한번 해본거니 신경쓰지마셔요~






자 그럼 여기까지 이클립스에서 깃허브로 업로드 시키는 흔하디 흔한 강좌(?) 였습니다!


봐주셔서 감사합니다. 찡긋.






참고 사이트


https://backlog.com/git-tutorial/kr/intro/intro1_1.html

http://gasaesososo.tistory.com/9?category=726951

https://rogerdudler.github.io/git-guide/index.ko.html

http://codereview.tistory.com/4

댓글1