什么是git“快照”?
官方的Git文档说:
$ git diff test
这将显示你当前的工作目录和'test'分支上的快照有什么不同
作为一个新手这是非常混乱。 我从来没有听说过快照这个词。 他们是否指“testing”分支的“头”?
快照是特定时间点(如文件夹)的状态。 在这种情况下,快照意味着testing分支的当前内容,这不一定是头版本。
术语快照也用在git参考站点中
这是“修订”的replace术语。 在其他版本控制系统中,对单个文件的更改将被跟踪并引用为修订版本,但对于git,您正在跟踪整个工作空间,因此他们使用快照术语来表示差异。
而不是像Subversion那样编写一个单独版本的工具,我们可能会编写一个能让我们的项目快照更容易存储的工具,而不必每次都复制整个目录。
这基本上是Git是什么。 你告诉Git你想用git commit命令保存项目的快照,它基本上logging了项目中所有文件的外观。 然后,大多数命令与这些清单一起工作,看看它们是如何不同或者将内容从中拉出来等等。
如果您将Git看作是存储和比较项目快照的工具,那么可能会更容易理解正在发生的事情以及如何正确执行操作。
首先,这不是官方的git文档。 这是一本由社区撰写的书。 虽然这可能是相当权威的,但这不是福音。
AFAIK,“快照”在git中没有任何forms的含义。 当然, git diff的手册没有提到它。 在给定的上下文中,它可能是一个非正式的参考,如何在本书的例子中使用“testing”分支,也就是作为正在进行的工作的快照,用于testing目的。
我的理解是,快照总的来说就是git用来存储数据的“实体”。 相对于像SVN那样将数据存储为一系列“deltas”/变更集,例如,您对git所做的每个提交都会创build一个“提交对象”,该提交对象引用了该时间点代码的快照。
正如@Femaref所说,它是在特定时间的代码状态,并不一定意味着它是testing分支的头部,但可以在你看到的例子。
快照是一个存储库,截图是一个video。
Git仓库由一系列快照组成 ,这些快照是一系列由Git 树对象表示的文件和文件夹,存储在仓库的.git
文件夹中。 commit
,将当前工作目录存储为新的快照 ( 提交 )。
以下是使用术语“ 快照”的一些上下文:
- 索引的快照创build了一个新的提交。
- 提交是在特定时间回购的快照。