Путаница в выборе между JavaGit, JGit и EGit
Я делаю Java-приложение, которое использует Git. Я обнаружил, что есть что-то под названием
JavaGit,EGit и JGit.
Я знаю, что JavaGit и EGit / JGit отличаются. Я не понимаю разницы между EGit и JGit. Оба размещаются в проектах Eclipse, но один из них, похоже, связан с Eclipse, а другой-нет.
Я не использую Eclipse, и я не планирую, поэтому я действительно не забочусь о " Eclipse интеграция."
JGit как-то связан с Eclipse? (Он размещен на www.eclipse.org и еще документация JGit также имеет много ключевых слов "eclipse" внутри)
из трех, что мне нужно будет подключить мою программу Java (не написанную в Eclipse) для работы с репозиториями Git?
Я бы предпочел автономную библиотеку Git (т. е. без зависимости от локальной установки Git)
изменить: еще один вопрос:
- поддерживает ли JGit Git в связке команда?
EDIT: я нашел ответ-это так (еще не пробовал). Он находится в transport пакет в классе под названием BundleWriter
6 ответов:
вы можете использовать JGit как автономную библиотеку, но, как уже упоминалось в Домашняя Страница JGit:
JGit можно найти в:
* EGit, Eclipse team provider для Gitв этом смысле JGit связан с Eclipse в том, что EGit использует функции JGit для разработки плагина Eclipse Git.
Учитывая, что все проекты Eclipse теперь версируются в репозиториях Git (вместо предыдущих репозиториев CVS), я бы рассмотрел JGit для вашего проекта Java, как кажется, что:
- JavaGit не обновляется в течение довольно долгого времени (2008)
- Eclipse стремится предложить хорошую поддержку Git через EGit, которая должна обеспечить расширение разработки JGit (используется EGit).
Thorbjørn Ravn Andersen комментарии:
хотя вы говорите, что Egit использует JGit, не совсем ясно, что EGit-это плагин Eclipse для Git, дающий git поддержка таким же образом, что CVS уже поддерживается в Eclipse
миграция проектов Eclipse от CVS до Git выполняется и сообщили, что (Крис Анищик).
я отслеживал разговоры о миграции кода проекта из CVS в Git в dev-списках нескольких проектов.
Большинство разработчиков, похоже, понимают ценностное предложение миграции, несмотря на их опасения, что с миграцией приходит много новых знаний, поскольку они выясняют, как сказать продуктивно в новой среде.неизбежно, обсуждение поставщика команды для Git, разрабатываемого проектом EGit, становится заметной частью разговора. - Эгит готов к прайм-тайму?"это часто вопрос, который подпрыгнул вокруг
официальная ошибка иллюстрировала обязательство Eclipse обеспечить "адекватную поддержку инструментов" для всех проектов Eclipse теперь на Git repo есть ошибка 293192.
для того, чтобы осуждать старые VCS в пользу git (ошибка 270854), адекватный tooling должны предоставлять. Этот баг создан для того, чтобы отслеживать, что.
[...] Я открыл / связал соответствующие EGit баги для того, чтобы иметь лучшую видимость/отслеживания о том, чего не хватает.таким образом, Egit является единственным проектом, на который ссылается эта ошибка, чтобы обеспечить указанную адекватную поддержку инструментов для новые (D)VCS, выбранные для всех проектов Eclipse.
(ошибка 270854 о устаревают старые инструменты VCS, который включает в себя по существу резюме.)
только что (17 марта 2001 года):состояние Git в Eclipse-начало 2011 года (Крис Анищик):
Я рад, что все прошло довольно долгий путь с прошлого года на основе статистики Eclipse Marketplace и сообщества вклады, которые получили проекты.
что дальше? Что касается инструментов, мы приближаемся к нашему выпуску 1.0 (который планируется для выпуска Indigo).
Инструмент git в Eclipse намного лучше в эти дни, если вам нужна помощь или у вас есть вопросы, пожалуйста, начните с самого превосходного Руководство Пользователя EGit.Если вы
eclipse.orgпроект, пожалуйста рассматривает начать процесс перемещения репозитория проекта в Git. есть много eclipse.org проекты уже на Git.
Было бы неплохо увидеть все eclipse.org проекты планируют перейти на Git к выпуску Indigo.
как один из авторов JGit и EGit, извините за путаницу.
JGit-это EDL (new-style BSD) лицензированная, легкая, чистая библиотека Java, реализующая систему управления версиями Git. Он может использоваться автономно и встроен в такие приложения, как Gerrit, Eclipse, Netbeans и IntelliJ. EGit внедряет JGit, чтобы использовать его для работы с репозиториями Git и предоставлять конструкции Git из Eclipse. На данный момент JGit не поддержите команду git-bundle, но вы можете внести свой вклад в поддержку, это не должно быть так сложно, см. наше руководство по вкладчикам.
просто чтобы перезвонить, как я только что наткнулся на этот вопрос только сейчас.
существует разница между Eclipse Foundation и Eclipse IDE. Фонд является зонтичной организацией, в то время как IDE является одним из проектов, разработанных через Фонд. Итак, важно знать, что так же, как Apache начал с веб-сервера и разветвился, чтобы стать основой для размещения ряда проектов, так и Eclipse Foundation теперь расширился за его пределы "корни" в IDE.
таким образом, в этом контексте код JGit предоставляет Java API для команд git, в то время как EGit использует JGit для обеспечения поддержки Git для Eclipse IDE.
лично я также нахожу это немного запутанным время от времени, и иногда кажется, что так много происходит, в некотором смысле ухудшило фокус этих организаций; однако я также вижу полезность в том, чтобы иметь одну зонтичную организацию вместо 20 похожих, но разных организаций.
JGit-это git, реализованный с нуля как библиотека Java, тогда как JavaGit (was ?) Java API, обертывающий собственную реализацию git (т. е. он вызывает собственную командную строку git).
EGit-это поставщик команды git Eclipse, интегрирующий JGit в среду IDE Eclipse и предоставляющий пользовательский интерфейс для работы с Git изнутри Eclipse.
в то же время большая часть сообщества Eclipse, а также большое количество корпоративных разработчиков использует EGit / JGit (это причина, по которой компании, поддерживающие эти проекты, вкладывают в это деньги). Смотрите страницы проекта и ohloh если вы хотите получить некоторое представление, кто вносит свой вклад.
JGit-это библиотека для управления репозиторием git. Вы не используете JGit в одиночку, если вы не пишете программу для управления репозиторием git так, как вам нравится.
Если вы используете Eclipse в качестве IDE, вы устанавливаете EGit как плагин управления версиями (по умолчанию в Indigo). EGit вызывает JGit, поэтому у вас также установлен JGit, если вы устанавливаете EGit.
Примечание, для Netbeans, вы устанавливаете NBGit в качестве плагина управления версиями. NBGit также вызывает JGit.
JavaGit: не активно поддерживали?
JGit-это Java-реализация Git. Это библиотека, которая также может быть использована в ваших собственных приложениях. Он также предоставляет некоторые операции CLI. EGit с другой стороны-это плагин Eclipse team provider для Git, который использует JGit в качестве реализации Git. Упрощенно можно сказать, что EGit-это часть пользовательского интерфейса, а JGit-фоновая часть. JGit не зависит от EGit, но EGit зависит от JGit.

Comments