Documentation

Support

Unity Version Control

Undo changes

Undo local changes in your repository.
Read time 3 minutesLast updated a month ago

To undo pending changes, use the Unity Devops Version Control application or the CLI. For more flexibility and specificity with the way that you undo changes, use the CLI.

Undo changes in the GUI

You can undo changes in the Pending Changes tab of the UVCS desktop application:
  1. Select the files that you want to undo.
  2. Add a comment and select Undo.
  3. Select Undo.
If you select the arrow on the Undo button, you have two additional options:
  • Undo unchanged: this option removes any files that you have checked out but not changed. You can also use this option to remove unchanged files from the list of pending changes.
  • Undo checkouts keeping changes: this option allows you to remove the checkout on a file but keep the changes in your pending changes.

Undo changes in the CLI

Undo all changes in a workspace

You can delete all of your pending changes and start from your original workspace. To remove your pending changes, use the
cm undo -r
command. The
-r
executes the undo operation recursively.
cm undo -r

Filter the
undo

By default, the
undo
operation applies to all changes, but you can use filter options to restrict the undo to specific change types. In the following example, you have changed, added and deleted files:
>cm status/main/fix-1342@quake@localhost:8084 (cs:575 - head)ChangedStatus Size Last Modified PathChanged 49.23 KB 2 hours ago code\bsp-renamed.cChanged 23.42 KB 2 hours ago code\cgame\cg_drawtools.cChanged 61.23 KB 9 minutes ago libs\cmdlib.hChanged 398 bytes 8 minutes ago libs\str.hDeletedStatus Size PathRemoved 12.41 KB code\bsp-temp.cAddedStatus Size Last Modified PathAdded 4.42 KB 17 seconds ago code\bsp-experimental.c
You can use the following filters to undo the addition and deletion of files but keep the changes in the modified files:
>cm undo --added --deleted -rc:\Users\pablo\wkspaces\quake_path\code\bsp-experimental.c unchecked out correctlyc:\Users\pablo\wkspaces\quake_path\code\bsp-temp.c unchecked out correctly
The filtered undo leaves you with the following status:
>cm status/main/fix-1342@quake@localhost:8084 (cs:575 - head)ChangedStatus Size Last Modified PathChanged 49.23 KB 2 hours ago code\bsp-renamed.cChanged 23.42 KB 2 hours ago code\cgame\cg_drawtools.cChanged 61.23 KB 10 minutes ago libs\cmdlib.hChanged 398 bytes 9 minutes ago libs\str.h

Undo a single change

To undo a single change, you run the
undo
command and specify the path.
For example, you might have the following changes:
>cm status/main/fix-1342@quake@localhost:8084 (cs:575 - head)ChangedStatus Size Last Modified PathChanged 15.83 KB 50 seconds ago code\cgame\cg_ents.cChanged 35.27 KB 30 seconds ago code\cgame\cg_main.c
To undo only the changes to
cg_main.c
, run the following command:
>cm undo code\cgame\cg_main.cc:\Users\pablo\wkspaces\quake_path\code\cgame\cg_main.c unchecked out correctly>cm status/main/fix-1342@quake@localhost:8084 (cs:575 - head)ChangedStatus Size Last Modified PathChanged 15.83 KB 50 seconds ago code\cgame\cg_ents.c

Undo changes on specific paths

To undo changes only under a specific path, use the
cm undo
command and specify the path.
For example, if you have the following changes in your workspace:
>cm status/main/fix-1342@quake@localhost:8084 (cs:575 - head)ChangedStatus Size Last Modified PathChanged 15.83 KB 50 seconds ago code\lib\be_aas_cluster.cChanged 35.27 KB 5 minutes ago code\cgame\cg_ents.cChanged 73.15 KB 5 minutes ago code\cgame\cg_localents.cChanged 62.62 KB 5 minutes ago code\renderer\tr_cmds.cChanged 12.26 KB 5 minutes ago merge\Socket.cs
The following command undoes the changes in the
code
folder but keeps the changes in the
merge
folder:
>cm unco code -rc:\Users\pablo\wkspaces\quake_path\code\renderer\tr_cmds.c unchecked out correctlyc:\Users\pablo\wkspaces\quake_path\code\cgame\cg_localents.c unchecked out correctlyc:\Users\pablo\wkspaces\quake_path\code\cgame\cg_ents.c unchecked out correctlyc:\Users\pablo\wkspaces\quake_path\code\lib\be_aas_cluster.c unchecked out correctly>cm status/main/fix-1342@quake@localhost:8084 (cs:575 - head)ChangedStatus Size Last Modified PathChanged 12.26 KB 5 minutes ago merge\Socket.cs