Easy-to-follow video tutorials help you learn software, creative, and business skills.Become a member

Working with check-in, checkout, and revert

From: Fundamentals of Software Version Control

Video: Working with check-in, checkout, and revert

Okay, we've got a repository, we've got a project, we've got a Visual Studio project, let's add some files and check it in. So in this case, we're going to right-click on the project here and come down to the Add menu and select Add > Class, and we're going to call this class f1.cs, and here's our class. So inside our class, we're going to add a function. The content is from the new project's Haiku error message page. We're going to pick one that's happened to all of us before we started using Version Control. So let's come down here and add void func1 (), and we will use Console.WriteLine, which is the C# equivalent of printf, With searching comes loss, and the presence of absence, My novel\" not found.

Working with check-in, checkout, and revert

Okay, we've got a repository, we've got a project, we've got a Visual Studio project, let's add some files and check it in. So in this case, we're going to right-click on the project here and come down to the Add menu and select Add > Class, and we're going to call this class f1.cs, and here's our class. So inside our class, we're going to add a function. The content is from the new project's Haiku error message page. We're going to pick one that's happened to all of us before we started using Version Control. So let's come down here and add void func1 (), and we will use Console.WriteLine, which is the C# equivalent of printf, With searching comes loss, and the presence of absence, My novel\" not found.

Now let's look at the Solution Explorer and see what Visual Studio is telling us. We can see for ConsoleApplication1, there's a red check mark next to it. That means that file has been updated and still needs to be checked in. You can see that f1.cs has a green plus sign next to it. That means that's a file to be added to Version Control, but not yet checked in. And as we saw before, for example, Program.cs has a little blue lock icon next to it, which means it's checked in, it's read-only in your working set until you start making some changes to it, which also means that your working set for that file is up to date with your repository.

So in order to check this in, we're going to come over here and right-click on the project line, ConsoleApplication1, and then we're going to select Check In from the menu. Visual Studio of course always requires you to save everything before you check it in, so we'll say Yes. Now it brings us back to the Pending Changes tab. So we can see a number of things here. We can see we're in our Team Project TFS1, and you can see exactly all the details when I hover over that. You can see that there are two changes here, and you can see this tree, this shows which files are being changed.

You can see that ConsoleApplication1.csproj is being updated, and f1.cs is being added. So in our Comments, we're going to say Add Func1, and then we're going to click the Check In button, and now we see Changeset 11 successfully checked in. Let's go back to our Source Code Control Explorer and look a little bit at the status of what's going on here. We can come to this folder now and right-click and say View History. Now we can see for, as we did with Git in our initial run-through, this is essentially the same as a Git log, so here at Changeset 10, we did an Initial Commit, Changeset 11, we added function 1.

You can right-click here and ask for Changeset Details, and over here you'll see we added f1.cs and updated csproj. If we click on this one and say Changeset Details, the Team Explorer now shows us the fact that we added all these files. So let's close the History pane. Let's go back to our f1.cs, and let's go back to our Solution Explorer. So let's make a change so that we can see versioning in action. So we're going to open this file again, and we're going to make a change, we're going to change the string My Novel to Website. Now we're going to save the file.

This button here saves the individual file, this button here saves everything, so I tend to get into a habit of clicking this Save All before I do Source Code Control operations in order to save me all those dialogues of, oops, you forgot to save that. So once again, we'll come over here, right-click, and say Check In. Once again, the Pending Changes dialog pops up, and we're going to say Changed My Novel to Website and click Check In. But before we click Check In, I want to make a note of something that TFS does uniquely from some of the other Source Code Control systems.

Because TFS locks the files, when you check them out to edit, sometimes somebody needs to go in and make a change to a file before you're ready to check in, and when you need to do that, what you do is you use this Shelve feature. So the Shelve feature allows you to preserve your Pending Changes and add this to what's called a Shelf Set, which is essentially a temporary Check In, so all your work is saved in the central server, but the mainline is not physically changed so that someone else can check that out and make their changes.

So in this case, we're not going to do a Shelve, we're going to click Cancel. We're going to come back and actually do the check in, but that feature can be incredibly handy when you have a system like this, which has a centralized server, and file locking. All right. Now we've got Changeset 12 checked in. Once again, we'll come back to the Source Code Control Explorer and ask for History, and there you can see, here is our initial Changeset, Add Func1, Changed My Novel to Website. If we select two Changesets, for example, 12 and 11, we can now right-click and say Compare.

This dialog pops up because you get all kinds of options when doing compares, we won't get into all the details of that, but this also can work when you've got lots and lots of files, you can filter by specific file types and so forth. In this case, we're just going to click OK and look at the differences, and you can see, ah, these two things are different. And if we compare the files now, it will actually give us a visual comparison, and we can see that My Novel got changed to Website. Note that a Changeset, of course, can contain potentially hundreds of files or thousands of files, if you've been working on it for days and weeks.

So the Changeset first gives you the level of folder differences, because you might have additional folders being added and deleted, and then once you've come to that level, as. As we saw back here, you can actually then compare individual files. So we'll close this and we'll close this and continue on. Now, let's make another change. We'll close the History, come back to our file, and we're going to change Website to Webpage. Now, we're not going to check it in, but we are going to try to ask for the differences.

So we're going to come back to the Solution Explorer, and we're going to right-click here, and we're going to compare, and we're going to compare our Workspace Version with the Latest Version, so we click OK. And again, we get the visual differencing window here, and you can see that it says that the server version has Website and our currently updated version that's not yet checked in has Webpage. So in this case, in order to revert this, all we have to do is close this and come back to Visual Studio and say Undo.

Now, let's go ahead and update that again to Webpage and save it. So if we look over in the Solution Explorer, we can see that f1.cs now has a red check mark next to it. But what if we decided after we've saved it in our local working set, but before we've checked it into TFS, that this isn't really what we want to do? Well, you can come over here, right-click on the file, come down to the Source Code Control menu, and say Undo Pending Changes. You will get this dialog that says this is going to undo all pending source changes for that particular file or files that you've selected.

I'm going to click Undo Changes, and it says Undo check-out and discard changes? I'm going to say Yes to All, and now you can see that Webpage has now been reverted to Website. Remember, none of your changes in the repository have been lost. You're just updating the working set. If we go to this file, come down here, and Source Code Control, and say View History, we can actually completely revert back to this one if we want to. We can say Get This Version or Rollback Entire Changeset.

So Get This Version will allow us, for example, to say, all right, now I want to have that version which still had My Novel in it. Remember, you haven't lost anything. We can come back up here and say Get This Version, and now we're back to Website. So that's the basic workflow when working with files in TFS. You simply edit the files, Visual Studio automatically checks things out, you Check In using the Pending Changes window, and you use the History window to be able to do differencing and to be able to revert to other Changesets.

Now let's move on and take a look at labeling in TFS, and then after that, we'll look at branching and merging.

Show transcript

This video is part of

Image for Fundamentals of Software Version Control
Fundamentals of Software Version Control

49 video lessons · 11992 viewers

Michael Lehman
Author

 
Expand all | Collapse all
  1. 2m 12s
    1. Welcome
      56s
    2. What you should know before taking this course
      23s
    3. Using the exercise files
      53s
  2. 25m 8s
    1. Overview of software version control
      2m 51s
    2. Understanding version control concepts
      5m 14s
    3. Demo one: Getting started
      11m 1s
    4. Demo two: Handling the "oops"
      6m 2s
  3. 11m 3s
    1. The history of version control
      3m 44s
    2. Terminology
      4m 27s
    3. Exploring centralized vs. distributed systems
      2m 52s
  4. 28m 42s
    1. Getting files in and out of a repository
      4m 38s
    2. Saving changes and tracking history
      2m 47s
    3. Reverting to a prior version
      1m 42s
    4. Creating tags and labels
      1m 5s
    5. Branching and merging
      4m 10s
    6. Exploring workflow integration and continuous builds
      2m 46s
    7. Using graphical user interface (GUI) tools
      2m 39s
    8. Integrating a version control system with an integrated development environment (IDE)
      2m 50s
    9. Examining shell integration
      3m 26s
    10. Looking at forward and reverse integration
      2m 39s
  5. 25m 59s
    1. Installation and setup
      3m 31s
    2. Creating a repository and a project
      5m 10s
    3. Working with check-in, checkout, and revert
      6m 12s
    4. Tagging
      1m 34s
    5. Branching and merging
      5m 32s
    6. Working with GUI clients and IDE integration
      4m 0s
  6. 16m 13s
    1. Installation and setup
      55s
    2. Working with check-in, checkout, and revert
      9m 34s
    3. Tagging
      1m 7s
    4. Branching and merging
      4m 37s
  7. 26m 41s
    1. Installation and setup
      3m 47s
    2. Creating a repository and a project
      6m 15s
    3. Working with check-in, checkout, and revert
      8m 31s
    4. Tracking history and tagging
      2m 15s
    5. Branching and merging
      5m 53s
  8. 19m 25s
    1. Installation and setup
      3m 1s
    2. Creating a repository and a project
      1m 6s
    3. Working with check-in, checkout, and revert
      6m 39s
    4. Tagging
      2m 13s
    5. Branching and merging
      3m 44s
    6. Working with GUI clients and IDE integration
      2m 42s
  9. 16m 54s
    1. Installation and setup
      1m 48s
    2. Creating a repository and a project
      59s
    3. Working with check-in, checkout, revert, and tracking history
      6m 9s
    4. Tagging
      1m 50s
    5. Branching and merging
      4m 29s
    6. Exploring GUI and shell integration
      1m 39s
  10. 3m 38s
    1. Selecting a software version control that is right for you
      2m 30s
    2. Next steps
      1m 8s

Start learning today

Get unlimited access to all courses for just $25/month.

Become a member
Sometimes @lynda teaches me how to use a program and sometimes Lynda.com changes my life forever. @JosefShutter
@lynda lynda.com is an absolute life saver when it comes to learning todays software. Definitely recommend it! #higherlearning @Michael_Caraway
@lynda The best thing online! Your database of courses is great! To the mark and very helpful. Thanks! @ru22more
Got to create something yesterday I never thought I could do. #thanks @lynda @Ngventurella
I really do love @lynda as a learning platform. Never stop learning and developing, it’s probably our greatest gift as a species! @soundslikedavid
@lynda just subscribed to lynda.com all I can say its brilliant join now trust me @ButchSamurai
@lynda is an awesome resource. The membership is priceless if you take advantage of it. @diabetic_techie
One of the best decision I made this year. Buy a 1yr subscription to @lynda @cybercaptive
guys lynda.com (@lynda) is the best. So far I’ve learned Java, principles of OO programming, and now learning about MS project @lucasmitchell
Signed back up to @lynda dot com. I’ve missed it!! Proper geeking out right now! #timetolearn #geek @JayGodbold
Share a link to this course

What are exercise files?

Exercise files are the same files the author uses in the course. Save time by downloading the author's files instead of setting up your own files, and learn by following along with the instructor.

Can I take this course without the exercise files?

Yes! If you decide you would like the exercise files later, you can upgrade to a premium account any time.

Become a member Download sample files See plans and pricing

Please wait... please wait ...
Upgrade to get access to exercise files.

Exercise files video

How to use exercise files.

Learn by watching, listening, and doing, Exercise files are the same files the author uses in the course, so you can download them and follow along Premium memberships include access to all exercise files in the library.


Exercise files

Exercise files video

How to use exercise files.

For additional information on downloading and using exercise files, watch our instructional video or read the instructions in the FAQ.

This course includes free exercise files, so you can practice while you watch the course. To access all the exercise files in our library, become a Premium Member.

Are you sure you want to mark all the videos in this course as unwatched?

This will not affect your course history, your reports, or your certificates of completion for this course.


Mark all as unwatched Cancel

Congratulations

You have completed Fundamentals of Software Version Control.

Return to your organization's learning portal to continue training, or close this page.


OK
Become a member to add this course to a playlist

Join today and get unlimited access to the entire library of video courses—and create as many playlists as you like.

Get started

Already a member?

Become a member to like this course.

Join today and get unlimited access to the entire library of video courses.

Get started

Already a member?

Exercise files

Learn by watching, listening, and doing! Exercise files are the same files the author uses in the course, so you can download them and follow along. Exercise files are available with all Premium memberships. Learn more

Get started

Already a Premium member?

Exercise files video

How to use exercise files.

Ask a question

Thanks for contacting us.
You’ll hear from our Customer Service team within 24 hours.

Please enter the text shown below:

The classic layout automatically defaults to the latest Flash Player.

To choose a different player, hold the cursor over your name at the top right of any lynda.com page and choose Site preferencesfrom the dropdown menu.

Continue to classic layout Stay on new layout
Exercise files

Access exercise files from a button right under the course name.

Mark videos as unwatched

Remove icons showing you already watched videos if you want to start over.

Control your viewing experience

Make the video wide, narrow, full-screen, or pop the player out of the page into its own window.

Interactive transcripts

Click on text in the transcript to jump to that spot in the video. As the video plays, the relevant spot in the transcript will be highlighted.

Are you sure you want to delete this note?

No

Your file was successfully uploaded.

Thanks for signing up.

We’ll send you a confirmation email shortly.


Sign up and receive emails about lynda.com and our online training library:

Here’s our privacy policy with more details about how we handle your information.

Keep up with news, tips, and latest courses with emails from lynda.com.

Sign up and receive emails about lynda.com and our online training library:

Here’s our privacy policy with more details about how we handle your information.

   
submit Lightbox submit clicked
Terms and conditions of use

We've updated our terms and conditions (now called terms of service).Go
Review and accept our updated terms of service.