如何从Git存储库中删除包含文件的单个目录?


当前回答

要添加新目录:

mkdir <YOUR-DIRECTORY>

但是现在Git不知道这个新目录,因为Git跟踪的是文件而不是目录目录

git status

Git不会意识到我们所做的更改,所以我们添加了hidden.keep文件,以使Git意识到新的更改。

touch /YOUR-directory/.keep

现在,如果你点击git状态,git就会知道这些变化。

如果要删除目录,则应使用此命令。

rm -r <YOUR-DIRECTORY>

如果您使用gitstatus进行检查,您将看到目录已被删除。

其他回答

您可以使用Attlasian源树(Windows)(https://www.atlassian.com/software/sourcetree/overview). 只需从树中选择文件并按下顶部的“删除”按钮。文件将从本地存储库和本地git数据库中删除。然后提交,然后推送。

我通常使用gitadd-all从远程存储库中删除文件/文件夹

rm -r folder_name
git add --all
git commit -m "some comment"
git push origin master

master可以被存储库的任何其他分支替换。

我的一位同事建议BFG Repo Cleaner,我认为它很强大。它不仅可以删除不需要的数据,还可以清除存储库中的任何相关提交信息。

要添加新目录:

mkdir <YOUR-DIRECTORY>

但是现在Git不知道这个新目录,因为Git跟踪的是文件而不是目录目录

git status

Git不会意识到我们所做的更改,所以我们添加了hidden.keep文件,以使Git意识到新的更改。

touch /YOUR-directory/.keep

现在,如果你点击git状态,git就会知道这些变化。

如果要删除目录,则应使用此命令。

rm -r <YOUR-DIRECTORY>

如果您使用gitstatus进行检查,您将看到目录已被删除。

您可以在本地删除文件夹,然后按如下方式推送:

git rm -r folder_name
git commit -m "your commit"
git push origin master