The last TortoiseSVN Update command loaded work-in-progress code from the trunk which shouldn't have been committed yet, and overwrote the files that I had on my branch.
How do I undo that last Update command and revert back to the versions that I had on my machine before the Update?
There is no "undo" or "revert", but if you update to the previous revision, that is the recommended way to accomplish what you are asking for. In TortoiseSVN, select "Update to revision..." and enter the revision number you want to go back to.
revert back to the versions that I had on my machine
If you had local changes on your machine that were never committed (i.e., no revision number), and you updated over them, then you are out of luck. The only way to get back your local changes is if you have a backup (check the "Previous Versions" tab in Windows Explorer...)
Check out this guide for undoing revisions on TortoiseSVN. The entire concept of version control supports the issue you've created for yourself so it is a popular action.
This is called update to revision... In the ui you can choose which version you want to go back to. Make backup copy of your local svn tree first to be safe!
You can update to a specific revision by right clicking on your working copy, Under the TortoiseSVN menu item, there is a update to revision menu option that will allow you to change your working copy to the revision of your choice. If you do a show log on the repository you can get an idea of when the offending code got committed and revert back to the prior repository revision. As a precaution, I would make a copy of and working copy, or important files in your working copy, to ensure that if things go bad, you can always get back to where you are now.
Now this changes your working copy, not the repo, so if you are wanting to revert the repository back, then that is a different issue, but I do not think that is what you are asking for.
Related
I have a nodjs project and i use IntelliJ to run it. Lately the project structure is not appearing as it used to, as if the project was not compiling. So, while searching for answeres, I clicked on the "Update project" button on the right top, but quickly realised it was going to update based on what was on the remote repo.
I've been developing for a few weeks without a single commit because my company asked me to (don't ask why), and the code had sensible data so I didn't have a backup.
After clicking that button, IntelliJ asked me if I wanted to merge my project files with the remote ones, I just pressed Cancel, and that was enough for IntelliJ to merge my entire project and lose a bunch of files I've been working with.
Suprisingly, they're not even on the Local History list. Even though it says "279 files" there I can't click or find any of the files.
Despite not being able to find them, I went to the changes.storageData file under IntelliJIdea2017.2\system\LocalHistory, searched for the names of the files I'm looking for, and found them all there, which makes me think there's still a way of finding them.
So, does anyone know where I can find deleted files after pressing the git "Update project" button on IntelliJ when they're not on the Local History file list?
Thanks a lot in advance!
As I understand, the files were not committed, so Update could not delete them, because git merge/rebase do not start when there are uncommitted changes (see e.g. this question)
They were probably automatically stashed before the update, and not unstashed because the update was actually canceled.
So the first place to check is git stash VCS - Git - Unstash... or Shelf (if Update project is configured to use Shelf)
I have been working on several java and xml files in android studio.
Now when done, i want to open the all modified files all at once to review them before a commit.
Something similar to git status and then git show for each and every one of them.
I can do it manually of course but i was wondering is there a better way to do that.
I think you are looking for the Local Changes part of the Version Control tab (Alt+9). There you can check the changes, though you need to open them one-by-one.
If you open (Ctrl+K) the Commit dialog, you can also check the diffs easily within the window, I find that very useful:
I accidentally pressed the Checkin button when I had a list of all my pending changes (in several solutions) open (and I had disabled the confirmation prompt a few years ago, have restored it now though).
I know I can do a rollback of the specific changeset, but this will not give me back my checked out items as it will just overwrite the changes of the changeset with new changes.
Does anybody know of a way to undo the checkin and get my checked out items and changes back?
Perhaps there is an extension to do a rollback, keep al the changes locally and check out those files again.
Or there is another automated way to keep al the changes and check out the files (manually checking out each file is to much work).
Edit
There doesn't seem to be a perfect way. For me the best solution was to 'Rollback the rollback'as stated in https://stackoverflow.com/a/24896432/1343595
I am working with Git for Visual Studio Online
I added a Product Back Log item.
I added some files & commited the change. (It did not linked for some reason)
I made some more commits to the project & synced.
My 1st change was not linked with the Back log item & it still shows
as pending under tasks.
How do I link the work item with my first commit?
Normally to link a commit to a work item you just reference the work item number in the commit message, for example git commit -am "related to PBI #1234". If it didn't work, you may have made a typo in the commit message.
Now, given you have already pushed your changes, amending your earlier comment to change the message would require an interactive rebase and pushing the result of that would be a bad thing (I'm assuming the repo is shared).
What you can do instead is go to the work item and under the Links tab, click the Link To... icon to add a new link. Select 'Commit' and then enter the SHA1 of the commit you want to link to.
Don't worry if you don't know the SHA1. Just use the ... button to browse your history and select the commit you're interested in.
I work with a shared SVN. Occasionally, there's a problem with the latest HEAD build, and I need to rollback to a previous version that works while it's being fixed.
I do this by going into the SVN logs, right-click on the revision and select "Revert to this revision", as described here: http://tortoisesvn.net/docs/nightly/TortoiseSVN_en/tsvn-howto-rollback.html
When the problem is fixed, how do I go back to the HEAD version (i.e. undo the rollback)? Updating does nothing. The only ways I have are a) deleting all my files and doing a fresh checkout, or b) going to the commit dialog and individually reverting my files (which brings them up to the HEAD version).
This seems pretty awkward and broken, so is there a better way of doing this?
Sounds like what you actually want to do is "Update to revision...", not actually a revert operation. If you know the HEAD (or revision X) is broken, right-click and use "Update to revision..." to update to the latest working revision number. When you're ready to update back to HEAD again just do a normal update. Think that should work anyway!
Edit: Note that I've not actually tried this, but sounds workable to me.