Git:git status不显示新文件,并且git add return致命文件不在存储库中

时间:2019-07-05 11:27:14

标签: git repository

我在项目中创建了新文件,并且git status返回 您的分支是最新的'origin / dev / master'。 没什么要提交的,正在工作的树干净

当我尝试使用git add添加新文件时,我有 致命:文件位于存储库外部。

但是当其他旧文件进行更改时,git status跟踪更改,我可以提交它。

1 个答案:

答案 0 :(得分:0)

首先,您可以使用以下方法检查文件是否被忽略:

git check-ignore -v -- afile

第二,该错误消息(“ is outside repository”将在Git 2.26(2020年第一季度)中得到澄清。

请参见commit e0020b2Emily Shaffer (nasamuffin)(2020年2月15日)。
(由Junio C Hamano -- gitster --commit f97741f中合并,2020年2月17日)

prefix_path:当arg在仓库外时显示gitdir

签名人:艾米莉·谢弗
Acked-by:布莱恩·米卡尔森

在开发脚本时,如果当前仓库不是用户认为的那样,那么理解Git为什么认为某些东西超出了当前仓库可能会很痛苦。

由于诊断起来很棘手,尤其是在子模块或嵌套工作树之类的情况下,让我们向用户提示该路径对哪个存储库有害。

错误消息将是:

aFile is outside repository at 'full/path/of/repo'
                            ^^^^^^^^^^^^^^^^^^^^^^
                                   (new!)

而且,仍然在Git 2.25.2(2020年3月)中,上述更新(用于在错误消息中显示工作树的位置)并未考虑在计算机上运行git命令的可能性。裸仓库,已得到纠正。

请参见commit 5c20398Emily Shaffer (nasamuffin)(2020年3月3日)。
(由Junio C Hamano -- gitster --commit e96327c中合并,2020年3月16日)

prefix_path:如果工作树不可用,则显示gitdir

签名人:艾米莉·谢弗
[jc:在SzederGábor的帮助下,添加了最低限度的测试]
签名人:Junio C Hamano

如果当前没有工作树,我们仍然可以通过向用户显示Git目录的绝对路径来提示用户有关Git的当前目录。即使Git目录使查找有问题的工作树变得不那么容易,它仍然可以帮助用户弄清楚在开发脚本时发生了什么。

这修复了e0020b2f中引入的分段错误(“ prefix_path:当gitdir在回购之外时显示arg”,2020-02-14)。