git rebase does not appear to work properly in certain cases where a file is added to the repository, then removed from the repository, then added to the working directory (but not the repository). Here's a more specific description of my problem: if a branch is created and switched to from some trunk, and a file X is added and committed in the branch, and subsequently X is removed and committed i