How to link a work load item with a commited change? - visual-studio-2012

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.

Related

IntelliJ: Lost files after "Update project" and can't find them on Local history

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)

In Visual Studio 2012, how can I set a default related work item for TFS commits?

I'm working on refactoring a single code file from a TFS repository. I'm doing this refactor in chunks, making regular small commits. Our TFS policy requires me to associate every commit with a work item.
This means that every few minutes, when I right-click the code file and click Check In Pending Changes, I'll also have to click Add a Work Item by ID underneath Related Work Items, type in a number, and hit enter. The work item thing starts to get pretty tedious after a dozen commits on the same file and same work item in the space of an hour.
Above: The work item dialog I'm referring to, right at the end.
Is there some way to have a work item already specified by default, so I can just start the Check In process and have it already there?
I'll be working with this one file and this one work item for the next few days with lots of committing. If setting this up takes a few minutes and is fiddly, that's fine. It will be worth the time.
I've asked the TFS Product Team for this feature in the past (to remember the last work item I associated with a check-in). But AFAIK this is not currently possible.

Undo checkin in TFS using visual studio 2012: rollback will not give me my pending changes back

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

Can't Rollback Solution

I made some changes to my ASP.NET MVC 4 project that introduced a bug, so I wanted to rollback my project to the last check-in. This check-in works; it doesn't have any broken code. So I used the "Get Specific Version" option, navigated to my last check-in, and rolled it back.
It doesn't revert my code to my last check-in's code. It just puts a little red check mark next to all of the files that contain my broken code with a tooltip saying "Checked out to me".
So I decided to rollback to my very first check-in. Some conflicts auto-resolve; I keep all of the server's versions of files when it prompts me to. It doesn't revert my code to my very first check-in's code. What am I missing; how do I load the code from my last successful check-in?
I ended up figuring out how to fix this myself: after navigating to View > Team Explorer, I had eight Pending Changes that were hidden. Manually right-clicking these and selecting "Undo" reverted the files to the last successful check-in. Pretty basic stuff, but I figured I would post an answer rather than deleting my question entirely, because the process is a little confusing for a beginner (like myself).

TortoiseSVN: how do I undo the last Update command?

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.

Resources