Toru Okugawa <castor.4bit@xxxxxxxxx> writes: > However, if determining the presence of a Git repository by checking > for errors is the appropriate approach, I'm interested in > understanding the intended use of the `--is-inside-work-tree` option. > I had thought it was meant to suppress errors in exceptional cases. $ rm -fr mine $ git init mine ;# notice the lack of --bare $ cd mine $ git commit --allow-empty -m 'initial' $ git rev-parse --is-inside-work-tree; echo $? true 0 $ cd .git $ git rev-parse --is-inside-work-tree; echo $? false 0 $ cd ../.. $ git --bare init mine.bare ;# this time bare $ cd mine.bare false 0 When you write a script that you might want to use as a part of a hook, for example, you may end up running it inside .git/ and it may be necessary (depending on what the script does and how it is written) to tell where you are in the working tree (or if you are in the working tree in the first place).