昨天,我在一个项目中启动版本控制;第一步";我想我从一些关于";Git入门;但订单搞砸了好几次,搞混了,所以我会删除.git,然后重新开始。
所有这些.git文件夹都进入了我的回收站,我终于通过阅读手册完成了第一步,完成了init
过程,并认为我已经完成了。
今天早上,当我深入到我的项目目录时,我发现我的整个项目都被删除了。所以我试着去垃圾桶,恢复.git文件夹,将它们移到唯一的目录中,克隆并提取它们,只是试着为每个repo运行我能在网上找到的每个故障排除过程。到目前为止我还没有成功。
就像我说的,我对git还很陌生,真的不知道该去哪里。我觉得运行所有这些随机命令只会让事情变得更糟,让我感到困惑,现在我有4个版本的<project_dir>_redo
文件夹,每个文件夹都有自己几乎相同的.git文件夹版本,其中有不同数量的";提交";,/objects
和/refs
文件夹中的不同内容等等,我甚至不知道从哪里开始看我是否在进步,是否把事情搞砸了。
我是彻底完蛋了还是还有希望?
我可以编辑帖子以包含更多信息,我只是不知道发布11张目录图片是否特别有用。
编辑我试着用每个.git文件在文件夹中运行git log
,每一个都会导致fatal: your current branch 'main' does not have any commits yet
我在正确的git目录上的最佳线索是这个具有以下结构的目录:
.git
├── branches
├── COMMIT_EDITMSG
├── config
├── description
├── hooks
│ ├── applypatch-msg.sample
│ ├── commit-msg.sample
│ ├── fsmonitor-watchman.sample
│ ├── post-update.sample
│ ├── pre-applypatch.sample
│ ├── pre-commit.sample
│ ├── pre-merge-commit.sample
│ ├── prepare-commit-msg.sample
│ ├── pre-push.sample
│ ├── pre-rebase.sample
│ ├── pre-receive.sample
│ ├── push-to-checkout.sample
│ └── update.sample
├── index
├── info
│ └── exclude
├── logs
│ └── refs
│ ├── heads
│ │ ├── index_form
│ │ └── master
│ └── remotes
│ └── facili
│ └── master
├── objects
│ ├── 05
│ │ └── 632ca44c03b4aa90a5768075c40231af2bc329
│ ### About 100 files with hashes etc. ###
│ ├── info
│ └── pack
└── refs
├── heads
│ ├── index_form # the first "branch" I made
│ └── master
├── remotes
│ └── facili
│ └── master
└── tags
取您喜欢的.git文件夹,并将其放入一个完全空的文件夹中。在终端中,cd
进入该文件夹。然后,不要说git init
或任何其他乱七八糟的东西;只要说git checkout master
。(如果你已经在master
上了,你可能不得不说git checkout --force master
。(Presto,你所有的文件都会出现。
如果您认为使用不同的.git文件夹可能会获得更好的结果,请进行与该文件夹相同的实验。等等