Eclipse Git Plugin
EGit is a set of Eclipse plugins for working with Git repositories.
It is based on the JGit library,
which is a Git implementation in pure Java.
This package is licensed under the EPL 2.0.
Please refer to the LICENSE
file for the complete license.
Components
This package is composed of the following major components.
Implementation
- org.eclipse.egit: Eclipse branding plugin for EGit.
- org.eclipse.egit.core: An Eclipse plugin providing an interface to
org.eclipse.jgit and support routines to allow processing in an
Eclipse workspace. It also supplies the team provider implementation.
- org.eclipse.egit.gitflow: bundle implementing support for the
gitflow
branching model.
- org.eclipse.egit.gitflow.ui: bundle implementing a user interface
for the gitflow branching model.
- org.eclipse.egit.target: Eclipse target platform providing EGit
3rd party dependencies for the build and for running EGit in Eclipse
workspace.
- org.eclipse.egit.ui: An Eclipse plugin providing the user interface on
top of org.eclipse.egit.core.
Tests
- org.eclipse.egit.core.junit: Reusable classes used by EGit tests.
- org.eclipse.egit.core.test: Unit tests for org.eclipse.egit.core.
- org.eclipse.egit.gitflow.test: Unit tests for org.eclipse.egit.gitflow.
- org.eclipse.egit.ui.test: UI tests for org.eclipse.egit.ui.
Packaging
- org.eclipse.egit.doc: Documentation bundle packaging EGit documentation.
Raw documentation is written in the wiki.
- org.eclipse.egit-feature: Eclipse feature for installing the core
implementation bundles
- org.eclipse.egit.gitflow-feature: Eclipse feature for installing the
optional gitflow bundle.
- org.eclipse.egit.repository: Definitions for the EGit p2 repository
which can be used to install and upgrade EGit, includes all the features
and plugins from the JGit p2 repository.
- org.eclipse.egit.source-feature: Eclipse feature for installing EGit
source bundles to help debugging EGit in Eclipse.
Compatibility
- In general, EGit supports at least the latest two Eclipse releases.
For details, please see the FAQ.
- JGit and EGit releases are versioned according to
OSGi semantic versioning.
- Newer version of EGit may implement new functionality, remove
existing functions and change others without other notice than what
is written in the release notes, commit log and source files themselves.
Features
The following list is not complete, but it gives an overview of the
features:
-
org.eclipse.egit.core
- Supplies an Eclipse team provider.
- Connect/disconnect the provider to a project.
- Search for the repositories associated with a project by
autodetecting the Git repository directories.
- Store which repositories are tied to which containers in the
Eclipse workspace.
- Tracks moves/renames/deletes and reflects them in the cache
tree.
- Resolves through linked containers.
-
org.eclipse.egit.ui
- Connect team provider wizard panels.
- Connect to Git team provider by making a new repository.
- Connect to Git team provider by searching local filesystem
for existing repository directories.
- Team actions: track (add), untrack (remove), disconnect, show
history, compare version.
- Resource decorator shows file/directory state in the package
explorer and other views.
- Creating new commits or amending commits.
- View for staging changes (whole files and partial staging),
showing their differences and committing them.
- Graphical history viewer with the ability to compare versions
using eclipse built-in compare editor.
- Clone, push, pull, fetch
- Merge, rebase, cherry-pick
Missing Features
- signing support is incomplete
- verifying signed tags
- signing pushes
Support
Post questions or comments to the egit-dev@eclipse.org mailing list.
You need to be subscribed
to post.
Contributing
See the EGit Contributor Guide.
About Git
More information about Git, its repository format, and the canonical
C based implementation can be obtained from the Git website.