开发者

Git: How to see old version of a file (before it was added to the staging area/index)?

Suppose I changed my file foo.txt and run git add foo.txt. Now foo开发者_如何学编程.txt appears in the list of the "changes to be committed".

Now I would like to see my foo.txt before these changes. How can I do it with git?


You can do the following:

git show HEAD:foo.txt

In general, this syntax is very useful for seeing a file from a particular commit without touching your working tree. For example, if you want to see what README.txt was like in the grand-parent of commit f414f31 you can do:

git show f414f31^^:README.txt

Update: as VonC comments below, it's important to note here that the path here must be the full path from the root of the working tree, even if you're currently in a subdirectory.

However, when staging changes, one does tend to be more often interested in differences, which is what Abizern interpreted your question as asking about. A simple way of thinking about those commands is:

  • git diff means "what changes haven't I staged yet?"
  • git diff --cached means "what changes have I already staged?"


I think what you're asking is about diffs (which show the differences between versions of files)

I've written about them here

But a summary diagram is:

Git: How to see old version of a file (before it was added to the staging area/index)?

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜