git init 不会为我创建 git 个目录

git init will not create git directories for me

我是 Git 的新手。 我可以使用 git -init --bare 在裸目录中获得 Git 目录结构。 我可以看到 git 信息的存储位置。

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

来自文档:

$ git init

This creates a new subdirectory named .git that contains all of your necessary repository files – a Git repository skeleton.

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

A git init myrepo 总是会创建一个空的 myrepo/ 文件夹,其中 myrepo/.git 准备好获取数据。

A git 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

(图片来自gotgit

您不会在 myrepo.git 上看到 file.txt upstream repo though, since a bare repo 没有工作树(因此 "bare")

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

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

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

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

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

git rev-parse --git-dir

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

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

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

cd C:\Users\JimPC\Documents\pretendCloud

git init --bare Project1

cd C:\Users\JimPC\Documents\MyJava

git 克隆 C:\Users\JimPC\Documents\pretendCloud\Project1 Project1

cd Project1

目录 >File01.txt

git 添加 File01.txt

git commit -m "Initial State Commit"

git push -u origin master

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

在我看来,它根本就没有创建存储库。我 运行 这些命令在 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>

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

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

这是为了显示隐藏元素

如果目录被识别,那么一旦您禁用证明保护,以防 git 安装在其他主驱动器上并再次检查它是否会被创建

此命令创建一个文件夹以及 .git 文件

git init --bare localrepo.git