Search code examples
mercurialadditionundo

How to undo all added files in Mercurial


Say I type hg add in Mercurial, and there a bunch of untracked files in my working directory that are not ignored. What is the easiest way to un-add all those files without explicitly typing the name of each file?

Can I just un-add them all with one command?


Solution

  • Preface

    You must always ask questions, which contain as much information as possible. Because now your question, depending from some conditions, may have totally different answers.

    Case One - no local modifications in already versioned files, only added (and not committed) files

    hg revert will return your working directory to the state after the last commit, undoing all changes it it.

    Case One - local edits, which you want to save and occasionally added files

    1. Read about filesets in Mercurial.
    2. Use fileset in the hg forget command, something like hg forget "set:added()".