Detaching a CI removes the CI from the change and when that change is completed any proposed changes to the CI will not be made. The link between the change and CI will not exist either.
Cancelling cancels the proposed changes to the CI. The relationship still exists between the CI and the Change but any planned changes - such as changing the Operating System - will not be reflected in any CIs that are cancelled.
Hope that helps?
Thanks for the answer.
So to be clear:
- the only real difference is that by detaching the CI, it will not be linked to the Change.
- I assume that if I commit all CIs at the end of a change, the canceled ones will not be updated.
- I should use Detach when I have (for example) added a CI to a change by mistake, and Cancel when the CI was originally intended to be modified, but for whatever reason this was not possible during the change.