当前位置: 首页 > 工具软件 > EGit > 使用案例 >

EGit/FAQ

高运诚
2023-12-01

EGit/FAQ

EGit
EGit
Website
Download
Community
Mailing List • Forums • IRC
Bugzilla
Open
Help Wanted
Bug Day
Contribute
Browse Source • Project Set File

What is Git?

Git is a distributed SCM/VCS, which means every developer has a full copy of all history of every revision of the code, making queries against the history very fast and versatile. The EGit project is implementing Eclipse tooling on top of a Java implementation of Git.

What is JGit?

JGit is a EDL/BSD licensed, lightweight, pure Java library implementing the Git version control file access routines, network protocols, and core version control algorithms.

What is EGit?

EGit is an EPL licensed Eclipse Team provider for Git, built on top of JGit.

What is New and Noteworthy?

You can find the latest changes for EGit and JGit below:

Where can I find older releases of EGit?

It's recommended to use the latest released version of EGit, which is always available in this p2 repository (update site):http://download.eclipse.org/egit/updates In case you need an older version, try an older repository, the following table lists the stable URL of all released EGit p2 repositories.

Note: open the p2 repository URL from the Eclipse installation wizard (Help > Install New Software) and add it as a new "Software Site". You may use thep2 browser to inspect the content of a p2 repository.

Release VersionRelease Datep2 repository URLbrowse p2 repositorydownload p2 repository
4.2.0.201601211800-r (latest release)2016-01-21http://download.eclipse.org/egit/updates-4.2updates-4.24.2.0.201601211800-r
4.1.1.201511131810-r2015-11-13http://download.eclipse.org/egit/updates-4.1.1updates-4.1.14.1.1.201511131810-r
4.1.0.201509280440-r2015-09-28http://download.eclipse.org/egit/updates-4.1updates-4.14.1.0.201509280440-r
4.0.3.201509231615-r2015-09-23http://download.eclipse.org/egit/updates-4.0.3updates-4.0.34.0.3.201509231615-r
4.0.2.201509141540-r2015-09-14http://download.eclipse.org/egit/updates-4.0.2updates-4.0.24.0.2.201509141540-r
4.0.1.201506240215-r2015-06-24http://download.eclipse.org/egit/updates-4.0.1updates-4.0.14.0.1.201506240215-r
4.0.0.201506090130-r2015-06-24http://download.eclipse.org/egit/updates-4.0updates-4.04.0.0.201506090130-r
3.7.1.201504261725-r2015-04-26http://download.eclipse.org/egit/updates-3.7.1updates-3.7.13.7.1.201504261725-r
3.7.0.201502260915-r2015-02-22http://download.eclipse.org/egit/updates-3.7updates-3.73.7.0.201502260915-r
3.6.2.201501210735-r2015-01-21http://download.eclipse.org/egit/updates-3.6.2updates-3.6.23.6.2.201501210735-r
3.6.1.201501031845-r2015-01-03http://download.eclipse.org/egit/updates-3.6.1updates-3.6.13.6.1.201501031845-r
3.6.0.201412230720-r2014-12-23http://download.eclipse.org/egit/updates-3.6updates-3.63.6.0.201412230720-r
3.5.3.201412180710-r2014-12-19http://download.eclipse.org/egit/updates-3.5.3updates-3.5.33.5.3.201412180710-r
3.5.2.201411120430-r2014-11-12http://download.eclipse.org/egit/updates-3.5.2updates-3.5.23.5.2.201411120430-r
3.5.1.201410131835-r2014-10-14http://download.eclipse.org/egit/updates-3.5.1updates-3.5.13.5.1.201410131835-r
3.5.0.201409260305-r2014-09-24http://download.eclipse.org/egit/updates-3.5updates-3.53.5.0.201409260305-r
3.4.2.201412180340-r2014-12-19http://download.eclipse.org/egit/updates-3.4.2updates-3.4.23.4.2.201412180340-r
3.4.1.201406201815-r2014-06-23http://download.eclipse.org/egit/updates-3.4.1updates-3.4.13.4.1.201406201815-r
3.4.0.201406110918-r2014-06-18http://download.eclipse.org/egit/updates-3.4updates-3.43.4.0.201406110918-r
3.3.2.201404171909-r2014-04-17http://download.eclipse.org/egit/updates-3.3.2updates-3.3.23.3.2.201404171909-r
3.3.1.201403241930-r2014-03-25http://archive.eclipse.org/egit/updates-3.3.1updates-3.3.13.3.1.201403241930-r
3.3.0.201403021825-r2014-02-28http://archive.eclipse.org/egit/updates-3.3updates-3.33.3.0.201403021825-r
3.2.0.201312181205-r2013-12-18http://archive.eclipse.org/egit/updates-3.2updates-3.23.2.0.201312181205-r
3.1.0.201310021548-r2013-10-02http://archive.eclipse.org/egit/updates-3.1updates-3.13.1.0.201310021548-r
3.0.3.201309161630-r2013-09-17http://archive.eclipse.org/egit/updates-3.0.3updates-3.0.33.0.3.201309161630-r
3.0.1.201307141637-r2013-07-15http://archive.eclipse.org/egit/updates-3.0.1updates-3.0.13.0.1.201307141637-r
3.0.0.201306101825-r2013-06-26http://archive.eclipse.org/egit/updates-3.0updates-3.03.0.0.201306101825-r
2.3.1.201302201838-r2013-03-01http://archive.eclipse.org/egit/updates-2.3updates-2.32.3.1.201302201838-r
2.2.0.201212191850-r2012-12-20http://archive.eclipse.org/egit/updates-2.2updates-2.22.2.0.201212191850-r
2.1.0.201209190230-r2012-09-26http://archive.eclipse.org/egit/updates-2.1updates-2.12.1.0.201209190230-r
2.0.0.201206130900-r2012-06-27http://archive.eclipse.org/egit/updates-2.0updates-2.02.0.0.201206130900-r
1.3.0.201202151440-r2012-02-17http://archive.eclipse.org/egit/updates-1.3updates-1.31.3.0.201202151440-r
1.2.0.201112221803-r2011-12-23http://archive.eclipse.org/egit/updates-1.2updates-1.21.2.0.201112221803-r
1.1.0.201109151100-r2011-09-22http://archive.eclipse.org/egit/updates-1.1updates-1.1N/A
1.0.0.201106090707-r2011-06-22http://archive.eclipse.org/egit/updates-1.0updates-1.0N/A
0.12.1 (Incubation)2011-05-03http://archive.eclipse.org/egit/updates-0.12updates-0.12N/A
0.11.3 (Incubation)2011-02-21http://archive.eclipse.org/egit/updates-0.11updates-0.11N/A
0.10.1 (Incubation)2010-12-17http://archive.eclipse.org/egit/updates-0.10updates-0.10N/A
0.9.3 (Incubation)2010-09-17http://archive.eclipse.org/egit/updates-0.9updates-0.9N/A
0.8.4 (Incubation)2010-06-14http://archive.eclipse.org/egit/updates-0.8updates-0.8N/A


The project follows a pattern of http://download.eclipse.org/egit/updates-<version> for its sites.

Since 3.0 P2 repositories are also deployed to repo.eclipse.org:


Retention Policy

All release p2 repositories will be kept forever.

Latest builds of EGit

Versionp2 repository URLbrowse p2 repository
latest build from masterhttp://download.eclipse.org/egit/updates-nightlyupdates-nightly
latest build from latest stable branchhttp://download.eclipse.org/egit/updates-stable-nightlyupdates-stable-nightly

What versions of Eclipse does EGit target?

In general EGit promises to support at least the latest two Eclipse releases.

If possible we will not prevent usage in older releases but if we want to take advantage of new functionality only available in one of the latest two Eclipse releases but not in older releases we will update dependencies which will in fact discontinue support for older releases.

EGitContained in release trainSupported Version of Eclipse
4.2.0.201601211800-rEclipse 4.6 M5 (Neon M5)Eclipse 3.8.2/4.2.2 + (Juno)
4.1.1.201511131810-rEclipse 4.5.2 (Mars.2)Eclipse 3.8.2/4.2.2 + (Juno)
4.1.0.201509280440-rEclipse 4.6 M2 (Neon M2)Eclipse 3.8.2/4.2.2 + (Juno)
4.0.3.201509231615-rEclipse 4.5.1 (Mars.1)Eclipse 3.8.2/4.2.2 + (Juno)
4.0.2.201509141540-r Eclipse 3.8.2/4.2.2 + (Juno)
4.0.1.201506240215-r Eclipse 3.8.2/4.2.2 + (Juno)
4.0.0.201506090130-rEclipse 4.5.0 (Mars)Eclipse 3.8.2/4.2.2 + (Juno)
3.7.1.201504261725-r Eclipse 3.8.2/4.2.2 + (Juno)
3.7.0.201502260915-r Eclipse 3.8.2/4.2.2 + (Juno)
3.6.2.201501210735-r Eclipse 3.8.2/4.2.2 + (Juno)
3.6.1.201501031845-r Eclipse 3.8.2/4.2.2 + (Juno)
3.6.0.201412230720-r Eclipse 3.8.2/4.2.2 + (Juno)
3.5.3.201412180710-r Eclipse 3.8.2/4.2.2 + (Juno)
3.5.2.201411120430-r Eclipse 3.8.2/4.2.2 + (Juno)
3.5.1.201410131835-r Eclipse 3.8.2/4.2.2 + (Juno)
3.5.0.201409260305-r Eclipse 3.8.2/4.2.2 + (Juno), support for 3.8.2 was fixed see bug 438601
3.4.2.201412180340-rEclipse 4.4.2 (Luna SR2)Eclipse 4.2.2 + (Juno)
3.4.1.201406201815-rEclipse 4.4.1 (Luna SR1)Eclipse 4.2.2 + (Juno)
3.4.0.201406110918-rEclipse 4.4 (Luna)Eclipse 4.2.2 + (Juno)
3.3.1.201403241930-r Eclipse 3.8.2/4.2.2 + (Juno)
3.3.0.201403021825-r Eclipse 3.8.2/4.2.2 + (Juno)
3.2.0.201312181205-r4.3.2 (Kepler SR2)Eclipse 3.8.2/4.2.2 + (Juno)
3.1.0.201310021548-r Eclipse 3.8.2/4.2.2 + (Juno)
3.0.3.201309161630-r4.3.1 (Kepler SR1)Eclipse 3.8.2/4.2.2 + (Juno)
3.0.1.201307141637-r4.3.0 (Kepler)Eclipse 3.8.2/4.2.2 + (Juno)
2.3.1.201302201838-r3.8.2/4.2.2 (Juno SR2)Eclipse 3.7.2+ (Indigo) (except EGit Import Support feature, which is optional)
2.2.0.201212191850-r3.8.1/4.2.1 (Juno SR1)Eclipse 3.7.2+ (Indigo) (except EGit Import Support feature, which is optional)
2.1.0.201209190230-r3.8.1/4.2.1 (Juno SR1)Eclipse 3.5.2+ (Galileo) (except EGit Import Support feature, which is optional)
2.0.0.201206130900-r3.8/4.2 (Juno)Eclipse 3.5.2+ (Galileo) (except EGit Import Support feature, which is optional)
1.3.0.201202151440-r3.7.2 (Indigo SR2)Eclipse 3.5.2+ (Galileo)
1.2.0.201112221803-r3.7.2 (Indigo SR2)Eclipse 3.5.2+ (Galileo)
1.1.0.201109151100-r3.7.1 (Indigo SR1)Eclipse 3.5.2+ (Galileo)
1.0.0.201106090707-r3.7.0 (Indigo)Eclipse 3.5.2+ (Galileo)


Required Java Version (BREE):

  • Up to EGit 3.7 the minimum supported BREE is Java 5 though Java 6 or higher is recommended due to limitations in older Java versions.
  • Starting from EGit 4.0 the minimum supported BREE is Java 7

Compatible version of Git: 
Compatibility is on a feature by feature basis. Currently the major version related difference is in how Git handles file names with non-ASCII file names. Git for Windows 1.7.10 and later encodes filenames in UTF-8 which is compatible with JGit. Git on Mac, v1.7.12 can encode filenames in a way that is compatible with EGit and Git for Windows if core.precomposeunicode is set to true. However EGit on OS X does not handle Unicode well.

What are the main differences between original Git and JGit(EGit)?

See this page Differences to Git

What is the mapping Git commands to EGit operations?

See this page Mapping Git Commands

How compatible is EGit with Git?

Some, but not all configuration options/features in Git are available in EGit/JGit. Here is a summary, not yet complete describing some of these, including notable differences. Note that the set of EGit/JGit is not based off a particular Git version.

config

configdescription
branch.autosetuprebasesupported
branch.autosetupmergesupported
core.autocrlfSince 2.0 supports true,false and input. See the tutorial for notes about making sure EGit picks up the configuration. Complementary core.safecrlf and gitattributes are not supported yet.
core.baresupported
core.checkstatsupported (2.3)
core.compressionzlib compression level
core.excludesfileContains ignore rules, in addition to .gitignore
core.filemodesupported
core.ignorecasenot supported
core.logallrefupdatessupported
core.packindexversionversion 1 and 2 supported
core.precomposeunicodeIgnore. See Bug 413390
core.repositoryformatversionrecognized, only "0" supported
core.safecrlfnot supported
core.worktreesupported in JGit, not EGit
diff.algorithmmyers, histogram (default: histogram)
pack.indexVersionDefault 2,-1 for older format
user.emailsupported
user.namesupported

Supported in JGit, but no EGit usually amounts to having no or strange behavior would one attempt to use it in the Eclipse IDE.

Notes: For those that can read the source, look at ConfigConstants.java for a hint on what options JGit recognizes. If it appears there, an option may be supported, but it may also mean for a few cases that JGit just looks for it and then explicitly tells the user the option is not supported. If it does not appear, it's most certainly up for grabs as a contribution. The file contains lots of config options that only applies to JGit (DFS, gerrit).

Environment

JGit supports some environment variables. Do not set those for the Eclipse IDE. We'll list a few ones that may be used, but most apply only to using JGit from the command line.

variabledescription
GIT_ALTERNATE_OBJECT_DIRECTORIESsupported
GIT_AUTHOR_EMAILsupported
GIT_AUTHOR_NAMEsupported
GIT_CEILING_DIRECTORIESsupported. Also EGit may be benefited when used with automounted file systems
GIT_DIRsupported
GIT_INDEX_FILEsupported
GIT_OBJECT_DIRECTORYsupported
GIT_SSHplink, tortoiseplink

SSH config

TBD: JGit does its own parsing of the ~/.ssh/config file.

Using PuTTY Agent on Windows for SSH Keys

It is possible to use PuTTY's key management capabilities on Windows for EGit as well. For that you work you must install PuTTY and TortoiseGit. Then set GIT_SSH environment variable to c:\Programe Files\TortoiseGit\bin\TortoisePlink.exe.

Store SSH Key Passphrase in Mac Keyring

It is possible to store the SSH Key Passphrase in Mac's Keyring. However. EGit's internal SSH client does not support this. Thus, in order benefit from Keyring EGit must be configured to use the Mac vanilla SSH agent. This is possible by setting the GIT_SSH environment variable to /usr/bin/ssh.

export GIT_SSH=/usr/bin/ssh

For OSX Mavericks, see this Stackoverflow question for how to set environment variable for applications like Eclipse.

 类似资料: