如果你输入git init,那么.git会被添加到文件夹中,并且repository会有一个工作目录,如果git init --bare是一样的,但是内容不在.git文件夹中,而是在一个已执行且此存储库没有工作目录,在此存储库中,您可以执行推送、拉取命令。问题是,git 有没有指定工作目录的变量?如果有,那么您可以覆盖它,它会监视另一个目录?还有一个问题,如果 git 文件(blob、tree)被扔到远程裸存储库并且没有文件的工作目录,那么当从 git 对象创建克隆文件时?
如果你输入git init,那么.git会被添加到文件夹中,并且repository会有一个工作目录,如果git init --bare是一样的,但是内容不在.git文件夹中,而是在一个已执行且此存储库没有工作目录,在此存储库中,您可以执行推送、拉取命令。问题是,git 有没有指定工作目录的变量?如果有,那么您可以覆盖它,它会监视另一个目录?还有一个问题,如果 git 文件(blob、tree)被扔到远程裸存储库并且没有文件的工作目录,那么当从 git 对象创建克隆文件时?
它的工作方式略有不同。git 存储库是主要的,工作副本是次要的,因此链接是相反的,从工作副本到存储库。
它可以在没有工作副本的情况下存在(您可以创建
git init --bare或制作克隆)。一个或多个工作副本可以附加到一个存储库。任何目录都可以用作工作副本。执行需要工作目录的命令时,
git请在以下位置查找链接存储库:GIT_DIR.git从当前目录向上的目录(或文件) 。对于文件,存储库的路径存储在那里。在文件的帮助下,或者
GIT_DIR您可以使多个工作目录使用相同的存储库。至于文件和同步。它总是由 git 对象组成。您的工作副本中只有一个版本的文件,即 在不同的版本/分支中,您可以拥有完全不同的文件。并且克隆/推送/拉取始终使用存储库。