On Mon, Jul 18, 2016 at 11:33 AM, Junio C Hamano <gitster@xxxxxxxxx> wrote: > Ehsan Azarnasab <azarnasab@xxxxxxxxx> writes: > >> Currently if I have a branch checked out in a work-tree, git-checkout >> will show this error message when checking out that branch: >> >> $ git checkout master >> fatal: 'master' is already checked out at '/home/dashesy/development/feature' >> >> It would be very useful to instead of this error just change the >> current working directory, so git checkout would become a `cd` command > > That is an understandable thing to want from 10,000ft view, but it > would not be something Git, or any external command that is spawned > by the shell for that matter, can address. You'd need to teach the > shell to cooperate. > -- You could implement this for yourself as a shell function sort of, by wrapping git, but it's a bit crazy, something like: function git() { # check if first argument is checkout, otherwise exec git # check second argument, and parse git-worktree to determine if it is checked out # if so, just cd into the directory # else exec git normally. } I'll leave actual implementations to the user. Note at least for BASH, you need to actually do this as a function alias. Thanks, Jake -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html