名为.git
的文件夹是什么?
它是在存储库中创建的。其中包含什么以及为什么创建?
答案 0 :(得分:9)
有关详情,请查看official website of git。
答案 1 :(得分:1)
此说明应有助于初学者了解.git
文件夹。
.git
文件夹有点像魔术帽,您可以在其中放置当前的魔术表演。
创建新的git信息库(git init
)时,将组织成显示格式的所有内容都放在这顶魔术帽中,可以随时随地“拉出”。
拉出所有内容后,您可以在放完节目后丢弃所有内容(即.git
文件夹以外的所有文件),并且以后总是可以放出完全相同的节目。 (因为每个新节目都只是帽子内部内容的复制品。)
如果仅向某人发送.git
文件夹,他们总是可以将您的项目文件拉入与您放入的文件相同的结构(显示格式)中。
git add
告诉.git
文件夹可以拉出的内容,例如穿着燕尾服和手杖的兔子(或网站上的单个文件或整个菜单栏)。
git rm
告诉.git
文件夹停止允许从帽子中拉出某些东西,例如想象一下,如果您不再希望兔子成为您的魔术表演的一部分。 (需要注意的是,如果您确实想要的话,您仍然可以恢复节目的先前版本,其中包括兔子(您在1999年的Comic Sans博客中的版本),但是如果您当前的节目不包含兔子,使用git rm
)。
答案 2 :(得分:1)
.git包含版本控制所需的所有信息。
因此,它必须跟踪本地存储库和远程存储库的状态,并提供一种在它们之间进行同步的方式。
下面的示例深入探讨了.git
中与HEAD相关的信息~/hammer-master/.git (GIT_DIR!)$ ls
COMMIT_EDITMSG HEAD config hooks info objects
FETCH_HEAD ORIG_HEAD description index logs refs
~/hammer-master/.git (GIT_DIR!)$ cat HEAD
ref: refs/heads/master
~/hammer-master/.git (GIT_DIR!)$ cd refs
~/hammer-master/.git/refs (GIT_DIR!)$ ls
heads remotes tags
~/hammer-master/.git/refs (GIT_DIR!)$ cd heads
~/hammer-master/.git/refs/heads (GIT_DIR!)$ ls
master
~/hammer-master/.git/refs/heads (GIT_DIR!)$ cat master
d63ed592f83f642d42cf59c63a71b44ca93e3ab9
谢谢
答案 3 :(得分:1)
.git
文件夹是在执行git init
(对于新项目)或执行git clone
(对于从项目中拉出项目的情况)创建的目录别的地方)。这就是使您的项目成为“ git”存储库的“事物”。如果没有.git
,则您的项目是本地项目,而不是git项目,这意味着您无法执行任何git操作。
git将项目的元数据和对象数据库存储在此目录中,例如:
要了解更多信息,请查看git的官方文档: https://git-scm.com/book/en/v1/Git-Basics-Getting-a-Git-Repository
答案 4 :(得分:0)
Basiclly,这意味着你的目录由Git(Git存储库)处理。如果你把它移到其他地方(或删除它),你将面临如下:
致命:不是git存储库(或任何父目录):。git
每次你在那里使用'git *'命令。
您可以使用以下命令将 .git 目录移动到其他位置:
git --git-dir = / myproject_path / myproject.git log --oneline
或者:
导出GIT_DIR = / myproject_path / myproject.git
但我不建议这样做。 注意它只是1个文件夹,与SVN不同。
它包含GIT处理代码的所有相关信息,例如HEAD的位置,在提交/推送之前/之后应用的挂钩以及其他一些文件。
也许里面最“着名”的文件是 config 文件,其中包含所有分支信息。
建议阅读here更多信息。
答案 5 :(得分:0)
.git
目录中的内容如果您好奇-„-,该资源可能会有所帮助
http://gitready.com/advanced/2009/03/23/whats-inside-your-git-directory.html
基本结构如下:
. |-- COMMIT_EDITMSG |-- FETCH_HEAD |-- HEAD |-- ORIG_HEAD |-- branches |-- config |-- description |-- hooks | |-- applypatch-msg | |-- commit-msg | |-- post-commit
... 在site
上继续