我的非重复文件是否使用git安全



我在服务器上和本地PC上有一个网站。该网站的一部分存储在Bitbucket上作为存储库。该网站由以下文件和文件夹组成:

.htaccess
uploads/
resources/
index.php

.htaccess包含通往www目录的绝对路径。因此,我本地的PC具有不同的.htaccess文件作为我的服务器。此外,我不想在本地PC和服务器之间同步uploads文件夹。其余文件应同步。

我在这里弄清楚我可以通过添加一个包含

.gitignore文件来忽略它们
.htaccess
uploads/

此外,忽略的文件也不在我的存储库中。

由于upload文件夹和.htaccess不在我的存储库中,所以我现在害怕我在使用Git命令时不小心删除它们。

是正确的,唯一可能删除它们的git命令将为

git clean -dfx

或我不知道的其他git命令?

此外,当数据被git clean -dfx删除时是否可以恢复数据?

是的,这就是为什么我总是先使用dry-run-n)模式运行git,然后再删除-n

git clean -ndx

用git clean -dfx删除数据后可以恢复数据吗?

否与git本身:这取决于您的操作系统(例如Windows的Recuva)

但通常,不应影响私人文件(未进行跟踪,版本)购买git checkoutgit reset --hard
话虽如此,使用管理模式(在Windows中),您可以将符号链接与.htaccess文件或upload文件夹外部

mklink .htaccess C:pathoutside.htaccess
mklink /D .upload C:pathoutsideupload

这样,无论您的git回购发生了什么,您的私人数据仍然安全。

通过将文件放在.gitignore中,您告诉Git该文件是可分配的。从本质上讲,您允许在需要该名称的任何时候删除它,例如,必须创建目录代替忽略的文件时。

git clean不是唯一允许GIT删除.gitignore中提到的文件的情况。我认为git merge还删除了忽略的文件。

即使今天没有,.gitignore中的条目的当前定义是它们并不重要。git没有一个设施来指定既忽略 and preciald oferency of tocure。

最新更新