Undo Flexlate Operations¶
Flexlate commits to branches as it makes changes, so reversing changes is not as simple as resetting the working directory.
There are two ways to undo a Flexlate operation: via
fxt undo or by deleting the Flexlate
feature branches.
Undo Operations with fxt undo¶
Think of fxt undo as CTRL/CMD + Z for Flexlate. It reverses the Git
history to undo the last transaction. Flexlate puts transaction markers in
all its commit messages, and it will only undo commits with a marker
or merging a commit with a marker.
Warning
Flexlate has multiple protections in place to avoid deleting your changes, but it still deletes Git history. It is recommended to only use this command if you are following a feature branch workflow.
$ fxt add output copier-simple-example
Applying template copier-simple-example to /tmp/tmplhfe88i8
Updating 1 applied templates
question1? Format: yaml
my answer
The second question
question2? Format: float
10
create my answer.txt
create temp.txt
✔ Successfully updated template output
✔ Successfully applied template copier-simple-example to /tmp/tmplhfe88i8
$ ls
flexlate-project.json flexlate.json 'my answer.txt' woo.txt
$ fxt undo
Undoing transaction 1
⠋ Undoing 1 flexlate transactions
⠋ Undoing 1 flexlate transactions
⠹ Undoing 1 flexlate transactions
✔ Successfully reversed transaction 1
⠹ Undoing 1 flexlate transactions
⠹ Undoing 1 flexlate transactions
$ ls
flexlate-project.json flexlate.json woo.txt
Undo Operations by Deleting Feature Branches¶
Flexlate saves the history of your operations on the
Flexlate feature branches
that need to be merged into the main branches to permanently save.
If you have not yet merged the feature branches into the main branches, and you
want to reverse all operations you’ve made on this feature branch, you can
simply delete the Flexlate feature branches.
$ git checkout -b my-feature
Switched to a new branch 'my-feature'
$ fxt add output copier-simple-example
Applying template copier-simple-example to /tmp/tmp8y1imk9e
Updating 1 applied templates
question1? Format: yaml
my answer
The second question
question2? Format: float
10
create my answer.txt
create temp.txt
✔ Successfully updated template output
✔ Successfully applied template copier-simple-example to /tmp/tmp8y1imk9e
$ ls
flexlate-project.json flexlate.json 'my answer.txt' woo.txt
$ git checkout main
Switched to branch 'main'
$ git branch -D my-feature
Deleted branch my-feature (was 8df230c).
$ git branch -D flexlate-templates-my-feature
Deleted branch flexlate-templates-my-feature (was 8df230c).
$ git branch -D flexlate-output-my-feature
Deleted branch flexlate-output-my-feature (was 8df230c).
$ ls
flexlate-project.json flexlate.json woo.txt