eclipse--checked out previous commit to look around, now want to go back - eclipse

I am using the latest Eclipse + eGit.
I needed to go back and look around at my previous commit so I went to the History tab and right clicked on the previous commit and selected "Checkout".
Now I'd like to go back to the commit I was on before I checked out the old one--but in the History view that commit isnt' there.
58504cb Added feature z
09a2df3 Added feature y, Checked out this commit
988c14b Added feature x
5a76bef Added feature w
When I checked out that commit, the history view looks like this now:
09a2df3 Added feature y
988c14b Added feature x
5a76bef Added feature w
The problem is I don't know the hash for the "Added feature z" commit. How can I get it back?

In the history view, there's a toolbar icon for "Show All Branches and Tags". In this screenshot it's the cyan one on the right-hand side with the arrow branching into two.
If you turn this on, your newest commit should reappear.

Related

Reset everything to remote and skip all changes

Is there any way in the user interface to reset to a specific commit and skip all local changes? I want to reset to the marked on the picture.
Looks like you want to get rid of uncommited changes. There are two ways to do so:
Right click master, Reset master to this commit, Hard - discard all changes. This will reset you current branch (master) to the selected one (also master in this case) and discard any changes.
Click the trash can on the top right to get rid of all unstaged changes. It appears only if you select the uncommitag changes in the top of the commit graph.
EDIT: Looks like you are in the middle of a merge. In this case, you can also (or maybe even have to) use the Cancel Merge button in the lower right, where the commit button is usually located.

SourceTree Won't Show All My Changes

I want to commit my works. But when I want to see what I changed and wrote them into commit message, I saw some of my changes won't show.
What is the problem?
Change The Maximum Lines And Size In Options
Tools > Options > Diff
Change Max Diff Line Count
And
Change Size Limit (Text)
I'm adding this answer as another possible cause of SourceTree "only showing the change history for a single file". This was annoying me for quite a while. No settings changes would display more than one file. THEN, I realised that the commit summary is actually a panel which slides up over the file list. ZOMG.
Make sure your filter is setup correctly:
For me the filter bugged out and while the main text said "Pending files", the dropdown had nothing selected.
Size Update For the latest ScourceTree
ScourceTree -> Preferences -> Diff -> Size limit(text)
Make sure that you copy the last version of your project, the one that you want to commit, to the directory of your repositories that you set for SourceTree. Replace the old project with the new one then open SourceTree
Open SourceTree, click commit, select all the files that you want to commit, which will probably be all the files you see (becuase SourceTree shows the changed files after you click commit).
On the Puush button on the top you'll se a red notification icon which means that you didn't push the last commit. Once you do that, your changes must be visible on BitBucket and SourceTree
Another possible reason:
Make sure Ignore whitespace in the diff view is not enabled.
If it is not a Pending issue or an options issue mentioned above, make sure Mercurial wasn't inadvertently checked if you're using it with Git. It will manifest in a similar way. If so, you're going to need to deinstall & re-install.

How to switch to other branch in Source Tree to commit the code?

Recently I have installed Source Tree in my windows machine. How can I use the source tree for commit, merge of code to central repository?? And also how can I switch the branches ?? Can any one kindly provide me the links on how to overcome this??
Hi I'm also relatively new but I can give you basic help.
To switch to another branch use "Checkout". Just click on your branch and then on the button "checkout" at the top.
UPDATE 12.01.2016:
The bold line is the current branch.
You can also just double click a branch to use checkout.
Your first answer I think depends on the repository you use (like github or bitbucket).
Maybe the "Show hosted repository"-Button can help you (Left panel, bottom, right button = database with cog)
And here some helpful links:
Easy Git Guide
Git-flow - Git branching model
Tips on branching with sourcetree
Go to the log view (to be able to go here go to View -> log view).
Double click on the line with the branch label stating that branch. Automatically, it will switch branch. (A prompt will dropdown and say switching branch.)
If you have two or more branches on the same line, it will ask you via prompt which branch you want to switch. Choose the specific branch from the dropdown and click ok.
To determine which branch you are now on, look at the side bar, under BRANCHES, you are in the branch that is in BOLD LETTERS.
Sometimes it is impossible to click on correct branch in history view. Find branch you want in left panel, under remote and double click it.

How to show tags in the history view of egit?

I have a repository with some dangling commits:
o (master) commit 3
o commit 2
o
| o (tag: danglings) dangling commit 2
| o dangling commit 1
|/
o commit 1
o initial commit
I have tagged the lastest dangling commit with a tag, to make sure it doesnt get lost, just in case i need it at some point in the future.
However, when viewing that repository in egits history, i dont get the dangling commits. They are simply not shown. When i create a branch that points to dangling commit 2 the two commits including the tag are shown.
How to prevent that? I want to see everything, not only branches in egit's history view.
EDIT: Added a nice screenshot montage:
The first one shows master checked out, and no dangling branch exists. Of course, the dangling commits and the dangling-tag exist!
On the second one i created a branch called dangling that points on the commit tagged with the tag dangling and checked it out.
Note that the view doesn't change (except for the bold written master and the HEAD getting moved) when i check out master on the second picture.
robinst mentions in the comments:
This was simply a bug in EGit and happened only with annotated tags, please see bug 417655 which proposes the fix in org.eclipse.egit.ui.internal.history.GitHistoryPage.
Target Egit 3.1
Original answer:
This Egit exercice discusses the History View:
Consider the different button available in this view:
:
That tutorial mentions:
TIP: If you got lost with the different filters and the history doesn’t show what you expect, set it back to show everything.
Therefore make sure that 'Show all branches and tags' (a) is turned on and 'Show all changes in repository' (e) is selected.
Those two buttons should potentially show you all reachable (that is at least tagged) commits.
The "Filtering settings" section of the Egit User Guide is clear:
The next four toggle buttons in the view toolbar control how the displayed commits are filtered with respect to the current input.
The buttons are working as radio buttons, i.e. one of the four buttons must always be down.
If the "Repository" button is down, the commit log is not filtered and shows all commits reachable from the currently checked out branch (or all commits, see below about the "All Branches" action)
If the "Project" button is down, the commit log is filtered to show all commits which affected any of the resources in the project containing the current input
If the "Folder" toggle is down, the commit log is filtered to show all commits which affected any of the resources in the parent folder of the current input
If the "Resource" button is down, the commit log is filtered to show only commits which affected the current input; the view menu item Show > Follow Renames allows to toggle whether renames of the selected resource should be followed by this filter
Note that not all combinations of filter setting and current input are meaningful; for example, if the current input is a project, the "Project" option is in fact the same as the "Resource" option.
But the "All branches" sections add:
This toggle activates the "All Branches" mode.
By default, only those commits are shown in the commit log that can be reached from the currently checked out commit, i.e. the Commit Graph ends with the currently checked out commit and newer commits are not shown.
If this button is down, all commits will be shown in the commit log.
In your case, I am not sure commits are show when referenced by a tag alone.
Only branches make those commits visible.

How do I figure out if a particular commit is in my current branch with EGit?

I have a repository with many branches and I am tying to figure out if a particular commit (with a specific commit message) is in my current branch. I can find the "interesting" commit using the the find box at the bottom of the History view.
I tried following the vertical lines but there is so much line-crossing that I find it really hard to say if the commit is in or not.
Is there a way to see all commits that contributed to a particular branch as a single list?
When you select a commit in the history view, look at the detail area for this commit. After author and committer details, you can see which branches contain the commit (Branches: ...). In case this area is hidden, open the view menu (the triangle) and check Show > Revision Comment.
You can also open the commit in a new window using the context menu and selecting Open in Commit Viewer.