嗨我有一个裸仓库,有2个用户从该仓库获得了克隆,
一段时间后,我发现我需要忽略跟踪文件夹中的图像,但我们希望每个客户都有自己的文件夹,而不是删除,[如存储产品图像]
所以我将文件夹添加到gitignore,然后我们只需要裸回购就没有任何图像,
所以我搜索并创建了删除之前添加的图片我们应该使用
git rm --cached folder/
所以使用此命令后,使用此命令的客户端具有该文件夹,并且每件事都可以
但是另一个客户端运行git pull
并看到本地文件夹被删除了!
那么我们该怎么办才能将图片从裸仓库中删除,而不是使用git pull
的客户端答案 0 :(得分:1)
例如,您可以执行以下操作:git rm -r --cached folder
答案 1 :(得分:0)
我认为发生的事情是第一个客户端在文件夹上使用git rm
,然后推送,从存储库的分支中删除它们。然后,当另一个客户端被拉出时,Git有效地向这些图像文件发送了删除命令,从而将它们从第二个客户端的本地文件中删除。
为了避免其他客户端发生这种情况,每个客户端应首先将图像文件添加到拉动之前.gitignore
。这样,当Git在拉动期间发送订单以删除文件时,文件将被忽略,它们将保留在本地。
答案 2 :(得分:0)
要解决此问题,请创建folder/
并添加名为empty
的文件,因为git需要文件夹结构中的文件才能存在。
在.gitignore文件中,您将拥有忽略行folder
。在下面添加一个新行!folder/empty
,这将意味着忽略'文件夹'中的项目,而不是'空'文件。
使用空白的index.html文件或类似文件也可以这样做。