강좌들이 이클립스 구버전을 사용한 강좌가 많아서 그나마 최신버전으로 작성해봅니다!
현재 제 환경과 버전입니다.
환경 : window 10
이클립스 ver : 2018-09 (4.9.0)
※ 현재는 이클립스 2018-12 가 최신버젼인 듯 합니다(?)
![](https://t1.daumcdn.net/cfile/tistory/99ABD83B5C3D510F36)
들어가기에 앞서...
깃허브 가입은 필수!
깃허브 내에 repository (저장소) 생성도 필수!
1. 깃허브에 업로드할 프로젝트 선택 (생성)
학습 위주이기 때문에 TEST 라는 이름으로 Dynamic Web Project 프로젝트를 생성했습니다.
[Local repository master] 는 신경쓰지마세요~
![](https://t1.daumcdn.net/cfile/tistory/99BABC345C3D53E636)
2. Git Repositories 창 띄우기
git 업로드 형식을 선택하기 위한 창을 띄웁니다.
![](https://t1.daumcdn.net/cfile/tistory/99C7AA385C3D563C39)
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 를 만듭니다.
※ 오른쪽 사진에 파란색으로 선그은 부분이 왼쪽과 동일한 기능을 합니다
![](https://t1.daumcdn.net/cfile/tistory/99B8C43D5C3D58FE05)
4. Clone a Git repository 방법으로 진행
아래와 같이 본인의 깃허브 주소와 아이디를 적습니다
user 에는 깃허브 이메일을 적고 아래에는 비번을 입력합니다.
URI 를 입력하게 되면 Host, Repository path 는 자동으로 입력됩니다.
![](https://t1.daumcdn.net/cfile/tistory/99FBDA415C3D59B00B)
next 해주세요
![](https://t1.daumcdn.net/cfile/tistory/9905CA415C3D5A610B)
또 한번 next 해주세요!
![](https://t1.daumcdn.net/cfile/tistory/99EA6B415C3D5A610B)
Destination 은 로컬에 저장될 repository (저장소)의 경로를 설정하는 부분입니다.
※ 여기서 말하는 로컬은 내 컴퓨터의 하드를 말합니다.
잠깐 Git의 저장소에 대해 짧막하게 나열하면...
Git은 총 세가지의 저장소로 구분되어 있는데요
첫번째는 작업디텍토리 (실제파일)
두번째는 인덱스 (준비영역)
세번째는 헤드(최종적으로 확정되는 commit 영역)
이렇게 구성되어 있습니다.
여기서 나오는 Destination 은 선택된 프로젝트를 Destination Directory에 임시로 저장되는 곳이고,
다음에 나올 Local repsository 는 내 PC 에 파일로 저장되는 개인 저장소를 뜻합니다.
GIt Repositories 를 보면 본인이 지정한 경로와 함께 무언가들이 여러개 생성이 되어 있는데요
저는 jun [master] 라고 되어 있습니다.
즉, Git과 이클립스 내의 프로젝트가 연동되기 위한 설정이 어느정도 진행 되고 있다는 말이지요.
![](https://t1.daumcdn.net/cfile/tistory/99C5BF465C3D5E5714)
5. 프로젝트를 업로드를 시킨다.
프로젝트가 보이는 java EE 혹은 java 를 눌러서 Team → Share Project 를 선택!
![](https://t1.daumcdn.net/cfile/tistory/99014B4F5C3D5F5F14)
Share Project 에 Repository 부분이 위에서 언급한 Local repository 경로 입니다.
![](https://t1.daumcdn.net/cfile/tistory/99E530505C3D6A4922)
Create 를 눌러서 기본 C로 되어 있는데 저는 따로 D에 만들어 놨습니다.
![](https://t1.daumcdn.net/cfile/tistory/994686425C3D89B121)
이제 이 경로가 프로젝트의 데이터들이 저장되는 곳입니다. (java, html, jsp, css 등..)
실제 경로를 들어가 보시면 이클립스 내에서 보이는 프로젝트의 구성과 같은 것을 보실 수 있습니다!
![](https://t1.daumcdn.net/cfile/tistory/992BDB4A5C3D8A9C26)
6. 동기화하는 단계합니다.
Commit&Push를 통해서 Local repository 와 Remote repository 를 동기화합니다.
선택하신 프로젝트를 자세히 보시면 ? 물음표가 떠있습니다.
여기서 Add to Index 를 선택하시면 Unstaged Changes 에 있던 요소들이 아래 Staged Changes 로 내려갑니다!
![](https://t1.daumcdn.net/cfile/tistory/990DED4F5C3D6AEE2B)
이런식으로요!
![](https://t1.daumcdn.net/cfile/tistory/991BC6425C3D6F8728)
이제는 Commit 을 해줍니다!
Commit 전에 Commit Massage 에 이 프로젝트에 대한 설명을 작성해줍니다! (지금은 TEST 라서 굳이 쓰시지 않으셔도 됩니다.)
※ Tip
커밋을 하면 Git hub에 이력이 남는데요 중요한 작업을 하게 되면 이 이력이 남는 점을 활용해 간단한 메시지
즉, 수정했을 때 무엇무엇 때문에 수정을 했다 하는 것을 입력합니다.
주로
첫번째 줄: Commit 내의 변경 내용을 요약
두번째 줄: 빈 칸
세번째 줄: 변경한 이유
위 형식으로 메시지를 작성한다고 합니다.
![](https://t1.daumcdn.net/cfile/tistory/9968E9445C3D702631)
Commit 을 하고 Git Respositories 를 보시면 아래와 같이 무언가(?)가 변한게 보이실 겁니다.
![](https://t1.daumcdn.net/cfile/tistory/992D72455C3D70B430)
7. Branch 'master' Push 를 합니다.
이제 Push Branch 'master' 를 진행하게 되는데요
Git Hub 의 저장소 (업로드) 로 들어가기 전의 단계라 볼 수 있습니다.
현재의 내용은 로컬 저장소 Head 안에 머물고 있는데 이 걸 push 하면 깃허브에 업로드가 되는 것이죠.
branch (가지) :
저장소를 새로 만들면 기본으로 master 가지가 만들어집니다.
만약 다른 가지를 이용해서 개발을 진행하고 나중에 개발이 완료되면 master 가지로 돌아와 병합을 하면 됩니다.
![](https://t1.daumcdn.net/cfile/tistory/99CEA1455C3D712636)
아래와 같이 창이 뜨면서 처음에 했던 것처럼 본인의 이메일과 함께 비번을 입력해줍니다.
![](https://t1.daumcdn.net/cfile/tistory/995EEB445C3D7C0E08)
Preview 를 누르시고...
![](https://t1.daumcdn.net/cfile/tistory/99569B475C3D750A35)
병합을 한다고 하시고 또 한번 Preview 를 누릅니다.
![](https://t1.daumcdn.net/cfile/tistory/9989E1475C3D750B3B)
어? 뭔가 이상합니다?? [rejected - non-fast-forward]...? 이게 뭐죠...?
일단 Push 를 누릅니다.
![](https://t1.daumcdn.net/cfile/tistory/997A663B5C3D75990C)
이메일과 비번을 또 입력하라고 나오네요!
잘못 입력하면 다시 입력하라고 같은 창이 나옵니다.
![](https://t1.daumcdn.net/cfile/tistory/99E1CA335C3D77620D)
Git Repositories 에 보시면 Branches 부분에 Remote Tracking 있는 부분에 하위 카테고리가 생성이 되어야하는데...
지금 위에 있는 부분에서는 생성이 되어있지 않습니다 [카테고리를 다 펼쳐서 캡처를 못 했네요....]
![](https://t1.daumcdn.net/cfile/tistory/991470445C3D784531)
이와 같이 되어 있어야 정상입니다.
왜 생성이 되지 않았을까요?
이유는 제대로 포워딩이 안된것이였습니다 -_-;
위에 이상하다고 언급한 부분에 [rejected - non-fast-forward] 이 메시지가 출력되어있지요.
![](https://t1.daumcdn.net/cfile/tistory/99C30F3B5C3D759909)
마지막에서도 또 [rejected - non-fast-forward] 메시지가 출력되어 있습니다...ㅠㅠ
사실 여기까지 오셨으면 잘 됐을겁니다...
제가 혹시 잘못한 것 같아서 다시 다른 프로젝트로 해보니 아주 잘되네요!
==============================================================================================================================
이 오류를 고치는 방법은 또 따로 있습니다!
[rejected - non-fast-forward]
==============================================================================================================================
자 ! 이제는 Git Hub 에서 확인을 하면 됩니다!
web_test 라는 폴더가 생성 됐습니다!
1)PagingEx_TEST 는 확인 차 다시 한번 해본거니 신경쓰지마셔요~
![](https://t1.daumcdn.net/cfile/tistory/99E70B425C3D791532)
자 그럼 여기까지 이클립스에서 깃허브로 업로드 시키는 흔하디 흔한 강좌(?) 였습니다!
봐주셔서 감사합니다. 찡긋.
참고 사이트
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