git/list[1] front-page[2] threads[3] people[4] search[5] about
 

why can *some* git commands not be run from within .git directory?

From
Robert P. J. Day <rpjday@crashcourse.ca>
Date
Nov 14, 2017, 09:18 UTC
Message-ID
<alpine.LFD.2.21.1711140409020.13653@localhost.localdomain>
  just noticed something i was unaware of -- some git commands can't
be run if i'm in the .git directory, while others can. for example,
if i "cd .git", commands like this work just fine:
  $ git show
  $ git branch
  $ git log
but others seem unwilling to determine the "working tree":
  $ git status
  fatal: This operation must be run in a work tree
  $
and:
  $ git stash list
  fatal: /usr/libexec/git-core/git-stash cannot be used without a working tree.
  $

what's the distinction between commands that can work this way, and commands that can't?

rday

p.s. i will refrain from pointing out the inconsistency in using the phrases "work tree" and "working tree" to mean the same thing, when there is a distinct "worktree" entity.

-- 
========================================================================
Robert P. J. Day                                 Ottawa, Ontario, CANADA
                        http://crashcourse.ca

Twitter:                                       http://twitter.com/rpjday
LinkedIn:                               http://ca.linkedin.com/in/rpjday
========================================================================
Next: Bryan Turner
Message 1 of 3 in “why can *some* git commands not be run from within .git directory?”
  1. Robert P. J. DayNov 14, 2017
  2. Bryan TurnerNov 14, 2017
  3. Robert P. J. DayNov 14, 2017

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.