如何在Windows 8.1中显示使用git bash(触摸文件)创建的文件?

时间:2015-04-03 23:27:32

标签: git bash windows-8.1 file-permissions git-bash

我遇到了一个有趣的挑战。

在Windows 8.1上使用Git版本控制执行我的第一步我设置了一个文件夹,添加了文件,然后按照教程进行操作。简单。一段时间后,我注意到Windows资源管理器不再向我显示一些文件(我认为这是在使用结帐后但无法确认)。使用git bash和ls命令,我仍然可以看到它们。

经过一番研究后,我可以将它带到我使用以下代码的地步:

touch gittest.txt

使用

时在git bash中
ls

它显示了我的文件。

在Windows资源管理器中,我看不到它。

我认为这是某种许可问题。我无法在Windows资源管理器中创建文件,因为我在Apache htdocs-Folder中工作并需要Admin-Rights。所以我所做的就是在其他地方创建“wintest.txt”并将其移动到该文件夹​​。

在资源管理器中我只看到那个文件,在git bash中我看到了两个:

ls -al

drwxr-xr-x 10 hogan Aminist 4096 Apr 3 15:00 .
drwxr-xr-x  7 hogan Aminist 4096 Apr 3 15:00 ..
-rw-r--r--  1 hogan Aminist    0 Apr 3 15:00 gittest.txt
-rw-r--r--  1 hogan Aminist    0 Apr 3 15:00 wintest.txt

这里的权限似乎没问题,但我想无论如何都缺少某些东西。 文件gittest.txt也没有隐藏。我在资源管理器中尝试了这个开关。

另一件显而易见的事情是:我打开带有Admin-Rights的Windows命令提示符,更改为相关目录并输入相应的命令dir,dir / A:H ......

没有文件“gittest.txt”。

Windows平台的git版本为1.9.5。

也很有趣。我这样做了:

echo 'something' > overwrite.txt

(在资源管理器中我看不到它。)

创建一个名称和内容相同的文件“done”。将其移至文件夹,毫无疑问“你想覆盖文件吗?”。

从资源管理器中打开文件 - 显示“已完成”。 在git bash中打开它,它显示“某事”。

在Windows中打开并编辑另一个文件后,我可以通过'vim xyzFile.txt'看到bash中的更改。这意味着我肯定会在同一个文件夹中查找。

当我首先使用vim“xyzFile.txt”在bash中打开文件然后保存它时,它在资源管理器中消失了。

任何人都可以给我一个提示,在那里搜索下一个并从这一点开始继续吗? 请随时询问更多信息。

1 个答案:

答案 0 :(得分:1)

这似乎是一个许可问题。情况并没有完全解决,但目前有一种解决方法对我来说很好。

<强>解决方案: 将文件夹权限更改为运行git bash语句的用户的完全访问权限。

原因是在Windows系统上安装Apache时,包含htdocs的整个文件夹的权限设置有限。每当有人想要创建文件时,他们都需要管理员权限。

当启动git bash时,它以某种方式以自己的方式进行更改,但这对“普通”Windows用户没有影响。需要说明的是:在git bash中,文件创建(如果有内容)也可以使用,您可以按预期查看,打开和编辑文件。在Windows中没有任何影响。 (现在我猜Git在后台创建了自己的数据库并与之合作,而不考虑真实环境。)

在授予特定用户的完全权限后,不再有任何问题。