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

RE: for newbs = little exercise / tutorial / warmup for windows and other non-sophisticated new Git users :-) [Scanned]

From
Daniel Barkalow <barkalow@iabervon.org>
Date
Dec 31, 2008, 00:15 UTC
Message-ID
<alpine.LNX.1.00.0812301859100.19665@iabervon.org>
In-Reply-To
<BB5F02FD3789B54E8964D38D6775E718242D31@ALTMORE-SVR.altmore.local>
On Tue, 30 Dec 2008, Conor Rafferty wrote:
> I don't understand, sorry. I thought I'd already removed all files from
> the local tree, in the $ rm *.* move just above the checkout  

That removes them from the filesystem, but they're still in the index. And "git checkout <something> ." first gets everything that *is* in "." in <something> into the index, and then gets everything from "." in the index into the filesystem.

I suppose it is questionable as to whether it ought to copy paths that aren't in versionA from the index into the filesystem.

To see this in a bit more detail, do:

$ rm *.* $ git status (notice that the deletes are in the "won't be committed" section)

Now, "git checkout <path>" will discard any changes in the "won't be committed" section for that path. Maybe "git checkout versionA <path>" should only discard changes that are in the "won't be committed" section for filenames that match that path and are in versionA (or are *different* in versionA and not removed?), but I think it's an area where, if you're expecting any particular behavior out of that command, you're likely to be surprised in some way in some situation.

	-Daniel
*This .sig left intentionally blank*
Previous: Boyd Stephen Smith Jr.Next: Jeff Whiteside
Message 3 of 4 in “RE: for newbs = little exercise / tutorial / warmup for windows and other non-sophisticated new Git users :-) [Scanned]”
  1. Conor RaffertyDec 30, 2008
  2. Boyd Stephen Smith Jr.Dec 30, 2008
  3. Daniel BarkalowDec 31, 2008
  4. Jeff WhitesideDec 31, 2008

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.