On Sat, Jun 18, 2022 at 7:09 PM Shaoxuan Yuan <shaoxuan.yuan02@xxxxxxxxx> wrote: > > On Sat, Jun 18, 2022 at 6:50 PM Fabrice Creuzot <code@xxxxxxxxxxx> wrote: > > > > Hello > > > > When we are reading a "git diff", all paths are prefixed with "a/" and > > "b/". Example: > > diff --git a/xyz > > index 4aa4b5230..1c2b8b69e 100644 > > --- a/xyz > > +++ b/xyz > > @@ -1,7 +1,7 @@ > > > > > > With my terminal, I double click on the path to select the full path for > > copy. > > > > Then, when I paste: "git log a/xyz", > > git says: unknown revision or path not in the working tree > > > > Ok, I need to remove the "a/" or "b/". > > But, is git can understand that "a/xyz" is "xyz" because "a/xyz" does > > not exist? > > > > Thanks > > Hi Fabrice, > > You can think that "a/" stands for "before" or "old content", whereas > "b/" stands for "after" or "new content". Paths are prefixed with these > to indicate which is before and which is after. > > For example, when you call "git diff", it is to "view the changes you made > relative to the index (staging area for the next commit)". > In this case, "before" is the index, namely "a/", whereas "after" > is your current working tree, namely "b/". A more precise way of saying is "a/" stands for source, whereas "b/" stands for destination. -- Thanks & Regards, Shaoxuan