我正在遵循这个教程。一切都正常,直到我在本地机器上运行它(在将$VARIABLE
替换为实际值后):
git remote add nfsn ssh://$USERNAME@$SERVER/home/private/git/$REPONAME.git
我收到以下错误信息:
致命错误:不是 Git 存储库(或任何父目录):.git
我如何跨过这个步骤?
您是否已初始化本地Git仓库,并打算将该远程仓库添加到其中?
您的本地目录是否有一个 .git
文件夹?
尝试使用命令 git init
进行初始化。
.git
文件夹不见了。执行 git init
是否等同于删除仓库文件夹然后再执行 git clone ...
?我所需要做的就是执行 pull
命令。 - Francisco Corrales Morales.git
文件夹不见了,你可以再次运行git init
来创建一个新的。但在拉取之前,你需要重新添加一个远程仓库。 - user456814jalal@klein:~/computer_vision/py-faster-rcnn$ git add -A fatal: Not a git repository: caffe-fast-rcnn/../.git/modules/caffe-fast-rcnn
。 - Mona Jalal.git
仓库目录,如我对“Git在不在项目目录中时不显示日志”的回答所指出的那样。GIT_DIR
是[环境变量],默认情况下设置为查找.git
目录(在当前工作目录中?):GIT_DIR
环境变量,则指定要使用的路径而不是默认的.git
作为仓库的基础。git init
或者克隆一个仓库
git clone <remote-url>
cd <repository>
git init
给予 +1。在阅读了您的答案后,我在多个我已经克隆但未被识别的仓库上使用了这个命令。因此,当从一个目录树中运行该命令时,只要该目录树应该是一个 git 仓库
,并且所有文件都在 git 目录中,但却声称不是 fatal: Not a git repository (or any parent up to mount point
时,它似乎是安全的。 - ElderDelp我的问题是,由于操作系统出了些小问题,我的本地仓库上的任何命令最后都会以“fatal: Not a git repository (or any of the parent directories):.git”结尾,包括fsck命令。
问题出在HEAD文件为空。
我能够在.git/refs/heads目录下找到我所工作的实际分支名称,然后执行了以下操作:
echo 'ref: refs/heads/ML_#94_FILTER_TYPES_AND_SPECIAL_CHARS' > .git/HEAD
它有效了。
注意:这并不是回答常见问题的答案,而是针对另一个问题的解决办法,该错误信息可能会出现。我不想新建一个问题,只是为了写下这个答案,请告诉我是否应该这样做 :P
由于某些崩溃引起的某些损坏,我遇到了这种情况,即使.git
确实存在,我仍然会收到此错误。
smar@aaeru ~/P/Nominatim> git status
fatal: Not a git repository (or any of the parent directories): .git
smar@aaeru ~/P/Nominatim [128]> ls .git
COMMIT_EDITMSG config* FETCH_HEAD HEAD index logs/ modules/ objects/ ORIG_HEAD packed-refs
因为我没有任何需要保存的东西,所以我选择了简单的方法:
......
smar@aaeru ~/P/Nominatim [128]> git init
Reinitialized existing Git repository in /home/smar/Projektit/Nominatim/.git/
然而仍未解决问题,例如git log
返回fatal: bad default revision 'HEAD'
。虽然远程存在,但我执行了git fetch --all
然后只需git reset --hard origin/master
就可以将自己恢复到先前存储库的状态。
请注意,如果存在一些未提交的更改,您可以使用git status
、git diff
等命令查看它们。然后在运行重置之前,只需git diff yourfile > patch
即可。
对于我来说,git reflog
已经完全消失了。因此,如果您进行了重置,并且有一些您想要避免的更改,我不确定在重置后是否还能够获得它们。因此,请确保您备份了所有无法丢失的更改,最终可以通过复制克隆来完成。
git init
和git fetch --all
修复了该问题。 - Morsegit
命令停止工作。.git
文件夹还在那里。使用git init
和git fetch --all
解决了这个问题。另一个可能导致此问题的原因是我在一个已经合并/删除的远程分支上。 - mihkov如果对其他人有帮助,我遇到了这个错误消息,是在意外删除了.git/objects/文件夹之后
致命错误:不是git存储库(或任何父目录):.git
恢复它解决了问题。
我移动了文件系统上的一个git项目后,就出现了这个问题。当我运行一些git命令时,会出现错误,例如:
$ git status
fatal: Not a git repository: /home/rospasta/path_old/gitprojecta/.git/modules/.travis
我在/home/rospasta/path_old/gitprojecta/.travis/.git
中找到了项目旧位置的绝对路径。手动更新新位置的路径解决了我的问题。
所以我的问题可能与git有关,但希望这可以帮到你。
$ git status
fatal: Not a git repository:
只需在您的cmd或git shell或任何其他终端中键入以下内容:
$ git init
对我来说,问题只出现在尝试从非Git目录(即不是工作副本的其他目录)执行git命令时。
要解决这个问题,请在您正在执行的git命令中添加-C <git dir>
,例如将git status
更改为git -C /dir/to/git status
,将git add -A
更改为git -C /dir/to/git -A
。
我刚在我的目录中重新初始化了git
git init
并且它起作用了
git init
,但也要确保您的任何子目录都没有自己的.git
文件夹。 - James Oravec