Eclipse git checkout (aka, revert)

EclipseGitEclipse PluginEgit

Eclipse Problem Overview


Is it possible to do the equivalent of git checkout from within Eclipse using the EGit plugin?

I have a file that's been modified. I want to discards the changes and revert the file back to what's in the source repository. In Subversion this is called revert. In git the equivalent is checkout.

I can't find any menu item under Team that looks like checkout or revert. I'm using EGit 0.6.0.

Eclipse Solutions


Solution 1 - Eclipse

This can be done via the context menu "Replace with/File in Git index" on the file in package view.

Solution 2 - Eclipse

You can achieve this by doing a (hard) reset. On the project's context menu, select Team > Reset to..., choose "HEAD" and "Hard" as reset type.

Please note that doing this you will lose the changes of ALL files. To revert just a single file see this answer.

Solution 3 - Eclipse

in Eclipse Version: 3.7.0

in "Team Synchronizing perspective" --> right click on file/folder in synchronize view --> overwrite

Solution 4 - Eclipse

Another possibility is using the Git Staging view:

  • Open Git Staging view by pressing Ctrl+3 or Command+3 and typing
    staging
  • In case the view does not already show your repository, click on the project or file
  • You should now see the files you modified in the Unstaged Changes section
  • Double-click on the unstaged file
  • You now see a compare view with your version on the left and the version before the changes on the right

Now, to undo only some of the changes in the file, do the following:

  • In the compare view, select one of your changed lines
  • Select the Copy Current Change From Right to Left toolbar item

This will make the left side correspond to the right side for this change. Save the file to finish the undo.

To undo all of your changes:

  • In the staging view, right click on the unstaged file
  • Select Replace With File in Git Index

You can also select more than one unstaged file and then right click.

Solution 5 - Eclipse

Revert a single file by going to Window > Show View > Other > Git Staging > Unstaged Changes

Select the file(s) you wish to revert. Right click and choose Replace with HEAD revision

Note that this step can't be undone.

(I am using Eclipse Version: 3.7.2 Egit version 2.3.1.201302201838-r)

Solution 6 - Eclipse

For reverting, you can right click on the file/directory that you want, then select Replace With -> HEAD version

Solution 7 - Eclipse

Open Team Synchronizing. Find the file and right click --> Overwrite.

UPDATE

In Eclipse Luna (4.4.2) Open Team Synchronizing. Find the file and right click --> "Revert..."

Solution 8 - Eclipse

The functionality is actually in there, but it may be non-obvious:

  • Make sure quickdiff is enabled with a git revision and the quickdiff baseline is HEAD (this is the default).
  • Open the file you want to revert.
  • Select everything (Ctrl-A)
  • Right-Click in the quickdiff bar
  • Select "Revert selection"
  • Save

btw, revert in git lingo means create a new commit to revert an earlier commit.

Solution 9 - Eclipse

To revert your entire file to repository's data:

Click on the folder you wish to do the revision and then go to the GitStaging enter image description here

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionSteve KuoView Question on Stackoverflow
Solution 1 - EclipseSergii RudchenkoView Answer on Stackoverflow
Solution 2 - EclipsesimonView Answer on Stackoverflow
Solution 3 - EclipseekerenView Answer on Stackoverflow
Solution 4 - EclipserobinstView Answer on Stackoverflow
Solution 5 - EclipseT AView Answer on Stackoverflow
Solution 6 - Eclipseuser3812819View Answer on Stackoverflow
Solution 7 - EclipseGeddonView Answer on Stackoverflow
Solution 8 - EclipserobinrView Answer on Stackoverflow
Solution 9 - EclipseadhgView Answer on Stackoverflow