GitHub is home to over 20 million developers working together to host and review code, manage projects, and build software together.
I use git sh a lot these days to save me some keystrokes.
When I want to move some untracked files though using
master!project *> mv file1 file2
fatal: not under version control, source=file1, destination=file2
Is there a workaround?
Yeah. This is super annoying. It's because mv is using git-mv. The only way around it is to use command mv file1 file2. You may also be able to realias mv to command mv but I haven't tried.
command mv file1 file2
I've considered removing the mv alias due to the confusion here.
Solution would be to test if file is tracked or not and act accordingly. As a workaround you can use noop
: && mv file1 file2.
The following lines in my .gitshrc make mv/rm a bit more sane, without any changes to git-sh itself:
alias gmv='git mv'
alias grm='git rm'
Thanks for that!
There's a note about this in the README. Closing.
I've worked up a couple bash functions for .gitshrc that will route tracked files to git mv/rm and untracked files to their bash counterparts.