8

我是 Git 新手。我可以在带有git -init --bare. 我可以看到 git 信息的存储位置。

但是,当我尝试使用git initor时git clone,我从未.git在本地存储库中看到任何子目录。我可以添加文件并推送,但不知道这些文件实际存储在我的本地存储库的磁盘上的什么位置。

从文档中:

$ git init

这将创建一个名为的新子目录.git,其中包含所有必要的存储库文件——一个 Git 存储库骨架。

但是,我从未见过那个骨架目录。我曾经dir -AH查看过git目录是否隐藏,但没有。为什么我没有得到一个 git 骨架目录?添加的(暂存的)文件到底放在哪里?

4

8 回答 8

12

在 Windows 上,git init可能会创建一个隐藏的 .git 文件夹。转到组织 --> 文件和搜索选项 --> 然后选中显示隐藏文件。这将揭开 .git 文件夹的面纱。

于 2015-10-28T11:49:37.213 回答
7

除非您--git-dir在运行“git init”时使用了该选项,否则您的.git目录必须在目录中。也许你应该更仔细地看。

同样的想法,也许您设置了一个环境变量GIT_DIR来更改.git目录的存储位置。请参阅http://git-scm.com/docs/git-init如果是这种情况,请删除此环境变量。

并且添加的(暂存的)文件存储index在该 .git目录中存储的文件中...

dir -AH(在powershell中?否则它dir /AH)对我来说效果很好......

于 2015-03-07T11:44:34.923 回答
3

git rev-parse --git-dir

查看 git 在哪里找到存储库结构。

@VonC 了解对象所在的位置,我将补充一点,其他所有内容都是 repo-local 元数据。

于 2015-03-07T16:32:56.390 回答
3

Agit init myrepo将始终创建一个空myrepo/文件夹,其中myrepo/.git准备好获取数据。

Agit init --bare myrepo.git用于创建一个可以推送到的裸仓库:

cd myrepo
git remote add origin ../myrepo.git
touch file.txt
git add .
git commit -m "First commit"
git push -u origin master

http://www.ossxp.com/doc/gotgit-en/images/en/fig-13-03-git-clone-2.png

(图片来自gotgit

不过,您不会file.txtmyrepo.git 上游回购中看到,因为裸回购没有工作树(因此“裸”)

在 repo 中,myrepo/.git/objects将包含您要添加到本地 repo 的对象:请参阅Git Internals - Git Objects
gotgit

http://www.ossxp.com/doc/gotgit-en/images/en/fig-06-02-git-repos-detail.png

于 2015-03-07T11:38:27.033 回答
2

如果您使用的是 Windows,请确保您的文件夹配置如下:

截屏

这是为了显示隐藏元素

于 2017-02-13T14:20:48.193 回答
1

我最终会尝试完全从头开始创建远程和本地存储库。这些是我使用过的命令。如果有人有建议,我很乐意听到。

cd C:\Users\JimPC\Documents\pretendCloud

git init --bare Project1

cd C:\Users\JimPC\Documents\MyJava

git clone C:\Users\JimPC\Documents\pretendCloud\Project1 Project1

cd项目1

目录>文件01.txt

git add File01.txt

git commit -m "初始状态提交"

git push -u 起源大师

在这些命令之后,我相信我已经准备好继续在 master 分支上构建我的项目了。

于 2015-03-07T20:22:39.933 回答
0

在我看来,它只是没有创建存储库。我在 Windows 7 中运行这些命令:

c:\Windows\System32>git 初始化项目1

重新初始化 c:/Windows/System32/project1/.git/ 中的现有 Git 存储库

c:\Windows\System32>cd project1

该系统找不到指定的路径。

c:\Windows\System32>cd c:/Windows/System32/project1

该系统找不到指定的路径。

c:\Windows\System32>git rev-parse --git-dir

致命:不是 git 存储库(或任何父目录):.git

c:\Windows\System32>

于 2015-08-15T17:16:27.967 回答
-1

如果目录被重新定义,那么一旦你禁用 pciif 的保护,以防 git 安装在主驱动器之外,然后再次检查它将被创建

于 2019-08-01T16:26:55.290 回答