show configuration commit list
Displays the list of committed configuration changes with commit IDs, labels, timestamps, and user information.
Overview
The 'show configuration commit list' command is a fundamental tool for configuration management in Cisco IOS-XR. IOS-XR uses a two-phase commit model: changes are first made in a candidate configuration, then committed to the running configuration. Each commit creates a snapshot that can be referenced later. This command displays a history of all commits, including commit IDs, timestamps, users, and optional labels. It is essential for auditing changes, troubleshooting configuration issues, and rolling back to a known good state. Unlike Cisco IOS, which uses a single running configuration, IOS-XR maintains a commit database that allows granular rollback. This command is typically used in EXEC mode and is available to users with appropriate privileges. In troubleshooting workflows, it helps identify when and by whom a change was made, enabling rapid isolation of problematic modifications. The commit list is stored in persistent storage and survives reloads, making it a reliable source of configuration history.
show configuration commit list [detail] [summary] [since <time>] [before <time>] [label <label>] [user <user>] [commitid <commit-id>]When to Use This Command
- Review recent configuration changes to identify who made a change and when.
- Roll back to a previous configuration by noting the commit ID.
- Audit configuration changes for compliance or troubleshooting.
- Compare configuration versions after a network incident.
Parameters
| Parameter | Syntax | Description |
|---|---|---|
| detail | detail | Displays additional information for each commit, including label, client, and comment. |
| summary | summary | Shows a condensed view with commit ID, timestamp, and user only. |
| since | since <time> | Filters commits after the specified time. Time can be absolute (e.g., '2023-03-20 14:00:00') or relative (e.g., '5 minutes ago'). |
| before | before <time> | Filters commits before the specified time. |
| label | label <label> | Filters commits with the specified label. |
| user | user <user> | Filters commits made by the specified user. |
| commitid | commitid <commit-id> | Displays details for a specific commit ID. |
Command Examples
Basic commit list
show configuration commit list1 1000000001 Mon Mar 20 14:22:35 2023 admin via cli 2 1000000002 Mon Mar 20 15:10:12 2023 admin via cli 3 1000000003 Mon Mar 20 16:05:45 2023 neteng via cli
Each line shows a commit: index number, commit ID, timestamp, user, and method (cli).
Detailed commit list
show configuration commit list detail1) CommitId: 1000000001 Label: (none) Time: Mon Mar 20 14:22:35 2023 User: admin Client: cli Comment: Initial configuration 2) CommitId: 1000000002 Label: (none) Time: Mon Mar 20 15:10:12 2023 User: admin Client: cli Comment: Added OSPF config 3) CommitId: 1000000003 Label: rollback-point Time: Mon Mar 20 16:05:45 2023 User: neteng Client: cli Comment: BGP policy change
Detail shows commit ID, optional label, timestamp, user, client, and comment.
Understanding the Output
The output lists each committed configuration change in reverse chronological order (most recent first). The first column is a sequential index number. The second column is the commit ID, a unique identifier used for rollback operations. The third column shows the timestamp of the commit. The fourth column indicates the username that performed the commit. The fifth column shows the method (e.g., 'via cli' for command-line interface). In detail mode, additional fields appear: Label (user-defined name for the commit), Client (the interface used, such as cli, netconf, or grpc), and Comment (a description provided during commit). A healthy output shows recent commits with expected users and times. Problematic values include missing commits (if the list is empty) or unexpected users/times indicating unauthorized changes. Labels are optional; their absence is normal unless a rollback strategy relies on them.
Configuration Scenarios
Auditing Recent Changes
A network engineer notices routing issues after a maintenance window. They need to see who made changes and when.
Topology
N/ASteps
- 1.Enter EXEC mode.
- 2.Run 'show configuration commit list detail' to view all commits with comments.
- 3.Identify the commit that correlates with the issue time.
! No configuration needed; this is a show command.
Verify: Check the timestamp and user of the suspect commit. Use 'show configuration commit changes <commit-id>' to see the exact changes.
Watch out: If the commit list is empty, ensure you have committed at least one configuration; the list only shows committed changes.
Rollback Preparation
After a failed configuration change, the engineer wants to roll back to the previous commit.
Topology
N/ASteps
- 1.Run 'show configuration commit list' to get the commit ID of the last known good configuration.
- 2.Note the commit ID (e.g., 1000000002).
- 3.Execute 'rollback configuration to commit-id 1000000002'.
! rollback configuration to commit-id 1000000002
Verify: Run 'show configuration commit list' again to see a new commit for the rollback.
Watch out: Rollback creates a new commit; the original commit remains in the list.
Troubleshooting with This Command
When troubleshooting configuration-related issues on Cisco IOS-XR, the 'show configuration commit list' command is often the first step. It provides a timeline of changes, allowing you to correlate network behavior with specific commits. For example, if a BGP session drops, you can check the commit list around the time of the drop to see if a configuration change was made. Use the 'since' and 'before' filters to narrow down the window. Once a suspect commit is identified, use 'show configuration commit changes <commit-id>' to see the exact lines that were added, modified, or removed. This is more efficient than comparing full configurations. If the issue is recent, you might also use 'show configuration commit list detail' to see comments that engineers may have left. In cases where multiple users have access, the 'user' filter helps isolate changes by a specific individual. If the commit list is unexpectedly empty, it could indicate that the configuration was never committed (only in candidate) or that the commit database was cleared (e.g., via 'clear configuration commit' command). Remember that the commit list has a maximum size (default 100 commits); older entries are automatically purged. If you need a longer history, consider using external logging or configuration backup solutions.
CCNA Exam Tips
Remember that commit IDs are used with 'rollback configuration' to revert changes.
Know that 'show configuration commit list detail' reveals the commit comment, which is useful for audits.
Understand that the commit list is stored in non-volatile memory and persists across reloads.
Common Mistakes
Confusing commit index with commit ID; the commit ID is the unique identifier for rollback.
Assuming the commit list shows uncommitted changes; it only shows committed configurations.
Forgetting that the list is limited in size; older commits are automatically purged.
Platform Notes
Cisco IOS-XR's commit-based configuration model differs significantly from Cisco IOS's 'copy running-config startup-config' approach. In IOS, there is no built-in commit history; changes are immediate and overwrite the running config. IOS-XR maintains a commit database that allows rollback to any previous commit. The 'show configuration commit list' command has no direct equivalent in IOS; the closest is 'show archive log config all' if archive is configured, but that is not standard. On other platforms like Juniper Junos, the equivalent is 'show system commit' which also lists commits with IDs. In IOS-XR, the commit list is stored in the 'commit' directory in the filesystem and persists across reloads. The maximum number of commits is configurable via 'commit limit' in global configuration mode. Version differences: In older IOS-XR releases (e.g., 5.x), the command syntax was slightly different; the 'detail' keyword was not available. Always check the specific version documentation. For network automation, the commit list can be accessed via NETCONF or gRPC, allowing programmatic audit trails.
Practice for the CCNA 200-301
Test your knowledge with hundreds of CCNA practice questions covering all exam domains.
Practice CCNA Questions