📜  git 从 git commit 中排除一些文件 - Shell-Bash (1)

📅  最后修改于: 2023-12-03 15:15:19.116000             🧑  作者: Mango

Git排除commit中的部分文件

Git是一个非常强大的版本控制工具,它可以轻松地管理您的代码库。有时候您可能不想包括所有的文件,并想将某些文件从commit中排除。本文将介绍如何将某些文件从commit中排除。

.gitignore

在讨论如何排除文件之前,我们需要了解 .gitignore 文件的作用。.gitignore 文件中列出的文件将被Git自动忽略,这意味着它们不会被添加到Git仓库或提交到远程存储库中。

您可以创建一个名为 .gitignore 的文件,并在其中列出要忽略的文件或文件夹。如果您需要排除的文件已经被Git提交,那么您需要做的是将这些文件从历史记录中删除,然后在 .gitignore 文件中列出它们。

以下是一个 .gitignore 文件的例子:

# 忽略所有 .txt 文件
*.txt
# 忽略 .txt 文件夹中的所有文件
txt/
# .gitignore 文件本身不应排除
!.gitignore
排除文件

假设我们有一个名为 app.js 的文件,我们想要将其从commit中排除。可以使用以下命令从当前commit中删除这个文件:

git rm --cached app.js

在这个命令中,我们使用 --cached 指定我们只想将该文件从暂存区中删除,而不是从工作树中删除。

现在,如果您运行 git status 命令,您将看到以下输出:

On branch main
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
deleted: app.js

现在您可以提交更改,这将从历史记录中删除该文件。

排除多个文件

如果您想排除多个文件,而不是只是一个文件,可以使用通配符或使用以下命令来删除所有文件:

git rm --cached <file1> <file2> <file3>
将文件排除在 .gitignore 中

如果您想将一个文件从commit中排除,而且它已经被添加到 .gitignore 文件中,那么可以使用以下命令从Git仓库中删除该文件:

git rm --cached -r .
git add .
git commit -m "Removing files from git repository"

在从Git仓库中删除文件后,将文件添加到 .gitignore 文件中,以便在将来的commit中排除这些文件。

结论

这篇文章介绍了如何将一些文件从Git提交中排除,并介绍了如何使用 .gitignore 文件和 git rm 命令来实现。在您的项目中使用这些技术,可以让您更好地管理您的Git代码库。