2012-04-22 3 views
3

SVN으로 10 년을 보낸 후 마침내 Git으로 뛰어 들었습니다. Git, Gitolite 및 GitLab을 서버에 설치하고 내 로컬 저장소, 커밋 된 복제본 저장소 및 코드를 저장소에 푸시했습니다. 여태까지는 그런대로 잘됐다. EGit 클론으로 Eclipse 프로젝트를 만드는 방법

ssh://dexter:vaultanalyser.git 

은 (GitLab에서, 저장소가 프로젝트라고되므로 I : 이제 I 경로에 대해 다음 구문을 사용하여 힘내 저장소 살펴보기를 사용하여 저장소를 복제 한

EGit는 ... 입사 ? 내가 오히려 여러 프로젝트를 포함하는 SVN 스타일 하나의 부모 저장소에 비해 Eclipse 프로젝트마다 하나 명의 저장소를 가정하고 그 가정)

이것은로 저장소를 가져옵니다?

/Users/mattpainter/git/vaultanalyser 

나는이 단계를 통해 자동으로 의 모든 소스과 함께 나를 위해 이클립스 프로젝트를 만들 것을 기대했지만, 그렇지 않습니다. 대상 디렉터리를 퍼지 (fudging)하여 내 작업 영역에 넣으려고했으나 작동하지 않습니다.

Eclipse 내에서 복제 된 소스를 사용하려면 어떻게해야합니까? This site은 리포지토리와 같은 이름의 프로젝트를 만들면 모두 마술처럼 작동하지만 사실이 아닙니다 (예, 기사가 GitLab이 아니라 GitLab에 관한 것임을 알고 있지만 두 가지가 충분히 가깝다고 생각했습니다 손에있는 작업).

그런 다음 이클립스에서 프로젝트를 만들고 공유하려고 시도했지만 전체 프로젝트가 저장소의 하위 폴더로 나타납니다. 리포지토리가 실제로 프로젝트와 유사하다면, 이것은 내가 원하는 것만은 아닙니다.

관련이있는 다른 StackOverflow 항목을 살펴 봤지만 이것이 어떻게 작동해야하는지에 대한 핵심 이해를 아직 놓치고 있으며 두려운 점이 있습니다.

도움 말?

답변

3

In GitLab, repositories are referred to as projects, so I assume that I am supposed to have one repository per Eclipse project?

예, GitLab "프로젝트"는 반드시 Eclipse 프로젝트 일 필요는 없습니다.
"Eclipse reference directory outside eclipse project directory but within repository"과 같이 SVN 구조를 따를 필요는 없습니다.

당신이해야 할 모든 기본 경로 (Eclipse 작업 공간)에서 하지되는 소스 디렉토리를 지정 이클립스 프로젝트를 만드는 것입니다,하지만 당신은 당신의 repo를 복제 곳 ("Getting started with Eclipse + EGit - confused"에 설명 된대로).
그런 식으로, 방금 선언 한 (Eclipse 작업 공간에서 참조되는) Eclipse 프로젝트에는 Git repo의 루트에 해당 파일 (.project.classpath)이 있습니다.
그리고 Egit은 그 프로젝트를 잘 관리 할 수 ​​있습니다.
Egit으로 직접 가져올 수 있습니다 : "Eclipse + EGit: clone project into workspace".아래 OP nullpainter 보고서로


:

The original issue was compounded by invalid permissions in the .git/objects folder on the server.
Running a chmod git:git -R * on the folder solved the issue

그는 오른쪽 아래 설정에 대해 자세히 설명합니다. VonC의 답변 @에 확장하려면

+0

감사 (내 원래 문제가 서버의 .git/objects 폴더에 유효하지 않은 권한에 의해 악화 된 폴더에 chmod git:git -R *이 문제를 해결 실행); 치료를 한 것. 프로젝트를 공유하기로 결정했다면 대상 위치는/Users/mattpainter/git//이었습니다. 이는 내가 원하지 않았던 것입니다. 링크 된 소스에서는 여전히 이것을 표시하지만 커밋 할 때 /src/과 src/이 모두 표시됩니다. 매우 혼란 스럽다 ...! – nullPainter

+0

사실 Repo를 가리키는 링크 된'src' 폴더를 만들었 기 때문에이 문제가 발생했을 수 있습니다 - 내 버전의 Eclipse (Juno)에는 '기존 소스에서 프로젝트 만들기'가없는 것으로 나타났습니다. 기술하다. 현재 Eclipse Workspace에는'.project'와'.classpath'가 있습니다. – nullPainter

+0

오른쪽. '기존 소스에서 프로젝트 만들기'가 표준 '새 Java 프로젝트'대화 상자로 통합되었습니다. 이렇게하면 '프로젝트의 상위 폴더에있는 저장소를 사용 또는 생성'을하면 공유 할 때'.project' 파일의 충돌을 피하기 위해 다음과 같은 오류가 발생합니다 : '푸시 중에 내부 예외가 발생했습니다 : dexter : vaultanalyser. 자식 : 누락 된 나무 32f2fe4f5ee5a4e2e7265ac5068a2b17a30b32e4' – nullPainter

0

명령 줄을 사용하여 확인한 다음 그 위에 내 프로젝트를 빌드하십시오. 사실, 나는 대부분의 작업을 커맨드 라인 자식으로 끝내게된다. EGit은 diff 파일을 보는 데 유용하지만 커맨드 라인은 더 많은 권한과 제어력을 가지고 있습니다. 힘은 devs에게 힘과 통제력을 많이주는 것에 관한 것이다.

3

, 단계는 EGit 이클립스 멋지게 놀이에 도착 :

  1. 선택 '복제 힘내 저장소'EGit에서를 모든 기본값을 그대로. 이렇게하면 작업 공간 밖에있는 git 상위 폴더에 폴더가 만들어집니다.

  2. 새 Eclipse 프로젝트를 작성하십시오. Java를 사용하고 있지만 다른 언어에 대해서도 비슷한 단계가 있다고 가정합니다. 첫 번째 대화 상자에서 '기본 위치 사용'의 선택을 취소하고 1 단계에서 작성한 저장소 폴더를 선택하십시오. 모든 기본값을 수락하십시오.

  3. 새 프로젝트에서 Team > Share Project...을 선택하십시오. 힘내를 선택하고 '프로젝트의 상위 폴더에 저장소 사용 또는 생성'을 선택하십시오.

코드와 Eclipse 도트 파일을 Eclipse 내에서 git 저장소로 푸시 할 수 있습니다.

-

+0

피드백을 보내 주셔서 감사합니다 (+1). 나는 더 많은 가시성을 위해 나의 대답에 그것을 포함시켰다. – VonC

관련 문제