JavaGit, JGit 및 EGit 선택시 혼란
Git을 사용하는 Java 응용 프로그램을 만들고 있습니다. JavaGit , EGit 및 JGit 이라는 것이 있음을 발견했습니다 .
JavaGit과 EGit / JGit이 다르다는 것을 알고 있습니다. 내가 이해하지 못하는 것은 EGit과 JGit의 차이점입니다. 둘 다 Eclipse 프로젝트에서 호스팅되지만 하나는 Eclipse 관련이고 다른 하나는 그렇지 않은 것으로 보입니다.
나는 Eclipse를 사용하지 않고 계획도 없다. 그래서 "Eclipse 통합"에 대해서는별로 신경 쓰지 않는다.
JGit이 어떻게 든 Eclipse에 연결되어 있습니까? (www.eclipse.org에서 호스팅되며 JGit 문서 에는 내부에 많은 "eclipse"키워드가 있습니다.)
세 가지 중 Git 리포지토리를 사용하기 위해 Java 프로그램 (Eclipse로 작성되지 않음)을 연결하려면 무엇이 필요합니까?
독립형 Git 라이브러리를 선호합니다 (즉, 로컬 Git 설치에 의존하지 않음).
편집 : 질문 하나 더 :
- JGit은 Git 번들 명령을 지원합니까 ?
편집 : 나는 대답을 찾았습니다-그렇습니다 (아직 시도하지 않았습니다). 그것은 transport
라는 클래스의 패키지에 있습니다.BundleWriter
JGit을 독립형 라이브러리로 사용할 수 있지만 JGit 홈페이지 에서 언급했듯이 :
JGit은 다음에서 찾을 수 있습니다.
* EGit, Git 용 Eclipse 팀 공급자
그런 의미에서 JGit은 EGit이 JGit 기능을 사용하여 Eclipse Git 플러그인을 개발한다는 점에서 Eclipse에 연결됩니다.
모든 Eclipse 프로젝트가 이제 이전의 CVS 저장소 대신 Git 저장소에서 버전 화된다는 점을 고려할 때 Java 프로젝트에 JGit을 고려할 것입니다.
- JavaGit이 꽤 오랫동안 업데이트되지 않았습니다 (2008).
- Eclipse는 EGit을 통해 Git에 대한 좋은 지원을 제공하기 위해 최선을 다하고 있으며, 이는 확장을 통해 JGit (EGit에서 사용)의 개발을 보장해야합니다.
Thorbjørn Ravn Andersen은 다음과 같이 설명합니다.
Egit이 JGit을 사용한다고 말했지만, EGit이 이미 Eclipse에서 CVS가 지원되는 것과 동일한 방식으로 git 지원을 제공하는 git 용 Eclipse 플러그인이라는 것은 위에서 명확하지 않습니다.
이클립스 프로젝트의 마이그레이션 힘내에 CVS에서 진행 중입니다 , 그리고 여기에보고 된 바있다 (크리스 Aniszczyk에 의해).
여러 프로젝트의 개발 목록에서 CVS에서 Git으로의 프로젝트 코드 마이그레이션에 관한 대화를 모니터링했습니다.
대부분의 개발자는 마이그레이션이 새로운 환경에서 생산적이라고 말하는 방법을 알아낼 때 완전히 새로운 학습이 필요하다는 우려에도 불구하고 마이그레이션의 가치 제안을 이해하는 것 같습니다.필연적으로 EGit 프로젝트에서 개발중인 Git 용 팀 공급자에 대한 논의는 대화의 중요한 부분이됩니다. "EGit은 황금 시간대를 맞이할 준비가 되었습니까?" 자주 돌아 다니는 질문입니다.
공식 버그는 현재 Git 저장소에있는 모든 Eclipse 프로젝트에 대해 "적절한 도구 지원"을 제공하겠다는 Eclipse 약속을 설명하는 버그 293192 입니다.
git ( bug 270854 ) 을 위해 이전 VCS를 폐기하려면 적절한 도구를 사용할 수 있어야합니다. 이 버그는이를 추적하기 위해 만들어졌습니다.
[...] 누락 된 항목에 대한 가시성 / 추적을 향상시키기 위해 관련 EGit 버그 를 열거 나 연결했습니다 .
따라서 Egit은 모든 Eclipse 프로젝트에 대해 선택된 새로운 (D) VCS에 대해 적절한 도구 지원을 제공하기 위해 해당 버그에서 참조 된 유일한 프로젝트입니다.
( 버그 270854 는 기본적으로 CVS를 포함하는 Deprecate old VCS 도구 에 관한 것입니다.)
Just in (2001 년 3 월 17 일) : Eclipse에서의 Git 현황 – 2011 년 초 ( Chris Aniszczyk ) :
이클립스 마켓 플레이스 통계와 프로젝트가받은 커뮤니티 기여를 바탕으로 작년 이후로 많은 일이 벌어 졌다는 사실에 기쁩니다.
그래서 다음은 무엇입니까? 툴링 측면에서 우리는 1.0 릴리스 (Indigo 릴리스 예정)에 가까워지고 있습니다.
Eclipse의 git 도구는 요즘 훨씬 더 좋습니다. 도움이 필요하거나 질문이있는 경우 가장 우수한 EGit 사용자 가이드로 시작하세요 .
eclipse.org
프로젝트 인 경우 프로젝트 저장소를 Git으로 이동하는 프로세스를 시작하는 것이 좋습니다. 이미 Git에 많은 eclipse.org 프로젝트가 있습니다 .
모든 eclipse.org 프로젝트가 Indigo 릴리스에 의해 Git으로 이동할 계획이있는 것을 보면 좋을 것입니다.
JGit과 EGit의 저자 중 한 명으로서 혼란을 드려 죄송합니다.
JGit 은 Git 버전 제어 시스템을 구현하는 EDL (new-style BSD) 라이선스의 경량 순수 Java 라이브러리입니다. 독립형 방식으로 사용할 수 있으며 Gerrit, Eclipse, Netbeans 및 IntelliJ와 같은 응용 프로그램에 포함됩니다. EGit 은 JGit을 임베드하여 Git 저장소에서 작업하고 Eclipse 내에서 Git 구성을 노출하는 데 사용합니다. 현재 JGit은 git-bundle 명령을 지원하지 않지만 지원에 기여하는 것은 환영합니다. 그렇게 어렵지는 않습니다. 기여자 가이드를 참조하세요.
방금이 질문을 우연히 만났을 때 차임으로 들어갑니다.
Eclipse Foundation과 Eclipse IDE에는 차이가 있습니다. 재단은 우산 조직이고 IDE는 재단을 통해 개발 된 프로젝트 중 하나입니다. 따라서 알아야 할 중요한 점은 Apache가 웹 서버에서 시작하여 여러 프로젝트를 호스팅하는 Foundation이되기 위해 분기 된 것처럼 Eclipse Foundation이 이제 IDE의 "루트"를 넘어 확장되었다는 것입니다.
따라서이 컨텍스트에서 JGit 코드는 git 명령 용 Java API를 제공하는 반면 EGit은 JGit을 사용하여 Eclipse IDE에 대한 git 지원을 제공합니다.
개인적으로, 나는 또한 때때로 이것이 약간 혼란스럽고, 때로는 그렇게 많은 일을하는 것이 어떤면에서 이러한 조직의 초점을 떨어 뜨리는 것처럼 보입니다. 그러나 유사하지만 서로 다른 20 개의 조직 대신 하나의 우산 조직을 갖는 것이 유용하다는 것을 알 수 있습니다.
JGit is git implemented from scratch as a Java library whereas JavaGit is (was ?) a Java API wrapping the native git implementation (i.e. it's calling the native git command line).
EGit is the Git Eclipse Team Provider integrating JGit into the Eclipse IDE and is providing the UI to work with Git from inside Eclipse.
In the meantime a large part of the Eclipse community and also a large number of corporate developers is using EGit/JGit (that's the reason why the companies backing these projects put money into that). See the project pages and ohloh if you want to get some insight who is contributing.
JGit is a library to manipulate git repository. You do not use JGit alone, unless you write a program to manipulate git repository in the way you like.
If you use Eclipse as the IDE, you install EGit as a version control plugin (defaulted in Indigo). EGit calls JGit so you also have JGit installed if you install EGit.
Note, for Netbeans, you install NBGit as a version control plugin. NBGit also calls JGit.
JavaGit: not actively maintained?
JGit is the Java implementation of Git. It is a library, that also can be used in your own applications. It also provides some sort of CLI operations. EGit on the other side is the Eclipse team provider plugin for Git, which uses JGit as Git implementation. Simplified you could say EGit is the UI part, and JGit the background part. JGit doesn't depend on EGit, but EGit does depend on JGit.
From: https://www.eclipse.org/forums/index.php/t/273443/
참고 URL : https://stackoverflow.com/questions/5335804/confusion-in-choosing-between-javagit-jgit-and-egit
'program story' 카테고리의 다른 글
음수를 처리하는 C / C ++ / Obj-C에서 모듈로 (%) 연산자를 코딩하는 방법 (0) | 2020.10.08 |
---|---|
Git Bash의 정확한 의미는 무엇입니까? (0) | 2020.10.08 |
언제 그리고 왜 수업을 봉인 하시겠습니까? (0) | 2020.10.08 |
알 수없는 크기의 std :: array를 함수에 전달 (0) | 2020.10.08 |
Windows 아래 Git : MSYS 또는 Cygwin? (0) | 2020.10.08 |