rtomayko / git-sh

A customized bash environment suitable for git work.
GNU General Public License v2.0
735 stars 83 forks source link

Moving untracked files #17

Closed oschrenk closed 11 years ago

oschrenk commented 12 years ago

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

I get

fatal: not under version control, source=file1, destination=file2

Is there a workaround?

rtomayko commented 12 years ago

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.

I've considered removing the mv alias due to the confusion here.

oschrenk commented 12 years ago

Solution would be to test if file is tracked or not and act accordingly. As a workaround you can use noop

: && mv file1 file2.
mgax commented 12 years ago

The following lines in my .gitshrc make mv/rm a bit more sane, without any changes to git-sh itself:

unalias mv
unalias rm
alias gmv='git mv'
alias grm='git rm'
oschrenk commented 12 years ago

Thanks for that!

rtomayko commented 11 years ago

There's a note about this in the README. Closing.

phatblat commented 11 years ago

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. https://github.com/phatblat/dotfiles/blob/master/.gitshrc#L66