egit
Introduction to EGit
1. Overview
2. EGit Setup
-
Eclipse Neon.3 version 4.6.3
-
EGit plugin version 4.8
2.1. Installing EGit in Eclipse
For older versions of Eclipse, we can install the plugin through Help → Install New Software and providing the URL http://download.eclipse.org/egit/updates:
3. Repositories
-
Browse our local repository
-
Add and initialize local repositories
-
Remove repositories
-
Clone remote repositories
-
Check out projects
-
Manage branches
To open the Repositories view, click Window → Show View → Other → Git → Git Repositories:
3.2. Creating a New Repository
From here, we select the repository directory and click Finish:
3.3. Cloning a Repository
Let’s go to File → Import… → Git → Projects from Git → Next → Clone URI → Next, then the ** following window will be shown:
We can also open the same window from the Clone Remote Repository toolbar button in the Repositories view tab.
Git supports several protocols such as https, ssh, git, and etc. If we paste the remote repository’s URI, other entries will be filled automatically.
4. Branches
-
Local branch
-
Remote tracking branch
4.1. Creating Local Branch
We can choose the remote tracking branch from which to base our local branch. Adding upstream configuration to our new local branches will simplify synchronizing the local changes with the remote ones.
It’s recommended to check the option in the dialog Configure upstream for push and pull.
Another method to open the new branch dialog by right-clicking on branches in the Repositories view → Switch To → New Branch
5. Tracking Files with Git
Question mark signs appear on files which are not yet under Git’s control. We can track these new files by right-clicking on them and selecting Team → Add to Index.
From here the decorator should change to (+) sign.
5.2. Committing Changes
We want to commit changes to a tracked files. This is done by right-clicking on these files and choosing Team → Commit:
By default, the author and committer are taken from the .gitconfig file in our home directory.
We can enter a commit message to explain the changes. In addition, by clicking on Add Signed-off-by icon in the top right corner, we can add a Signed-off-by tag.
5.3. Inspecting History
A history dialog will show all the committed changes of the inspected file:
We can open the last committed changes in the compare view by clicking on the compare mode icon in the top right corner in the history tab and then double-clicking on the file name (here’s an example: HelloEgit/src/HelloEgitClass.java) in file list:
5.4. Pushing Changes to the Remote Repository
From Team → Remote → Push we can enter the https URL of the new Git remote repository in a wizard:
Next steps are to:
-
Choose the Add All Branches Spec to map local branch names to the same branch names in the destination repository
-
Push the confirmation button – the wizard will show a preview of changed files
-
Finally, we click Finish to push our repository to the remote location.
If we have set up the Upstream Configuration from section 4.1, this configuration dialog will not be shown and the push will be much easier.
5.5. Fetching from Upstream
If we are working with a local branch that is based on a remote tracking branch, we can now fetch changes from the upstream.
In order to fetch from the upstream, we right click on the project and select Team → Fetch from Upstream (or by right-clicking on the repository on the Repositories View and selecting Fetch from Upstream).
This fetch can be configured by right-clicking on the project and selecting Team → Remote → Configure Fetch from Upstream:
5.6. Comparing & Synchronizing
If we want to see the changes between the local working directory and a committed change, we can right click on the resource and choose Compare With. This opens the Synchronize View to allow us to browse the changes:
By double-clicking on the changed file, the compare editor will be opened, allowing us to compare the changes.
If we want to compare two commits, we need to select Team → Show in History.
From the history view, we’ll highlight the two commits that we want to compare and select the Compare with Each Other option:
If we want to compare between the working directory and a branch, we can use Team → Synchronize
5.7. Merging
We can merge by clicking Team → Merge or by right-clicking on the repository name in the repositories view and select Merge:
Now we can select the branch or tag that we want to merge with the currently checked out branch.
6. Conclusion
In this tutorial, we introduced the EGit plugin for eclipse, how to install and configure it and how to use in our daily development.
For more details on EGit, check out its official documentation here.