在 Git 中全局性地忽略文件

Abdul Jabbar 2024年2月15日
在 Git 中全局性地忽略文件

在 Git 中工作时,我们有时需要忽略不需要的文件或意外提交到远程仓库。我们可以将 Git 配置为忽略那些我们不想签入远程仓库的文件。

它将确保 Git 不会跟踪这些文件并忽略它们,以便将来从该本地计算机提交。一些开发人员对他们为任何客户开发的每个项目重复复制和粘贴相同的被忽略文件感到恼火。

对于这种情况,Git 拥有将所有 IDE 特定和 OS 文件保存在全局 .gitignore 文件中的终极解决方案。项目的 gitignore 将在未来用于保存项目特定的文件。

在 Git 中全局性地忽略文件

为了在未来持续或全局使用这些命令,我​​们创建了一个 .gitignore 文件,该文件指定了忽略本地计算机上所有 Git 仓库中文件的规则。

我们开发文件 *~/.gitignore_global 并指定一些与未来推送到同一仓库相关的规则。对于这种情况,我们必须提升我们的 globalcore.excludesfile 配置文件来定位这个全局忽略文件。

以下是逐步创建 .gitignore 文件的步骤。

在第一步中,我们将在本地计算机上的路径 C:\Users\{username} 中创建一个文件 .gitignore,例如 C:\Users\John。以便项目下次推送到远程仓库时可以访问该文件。

之后,我们将以三种不同的方式调整 .gitignore 路径。在它的帮助下,我们将告诉全局 Git 在未来的推送中忽略文件。

我们将通过下面的示例一一讨论这三种方式。

使用 Windows Git Bash 调整 .gitignore 路径

首先,我们将打开 Windows git bash 并编写以下命令。

git config --global core.excludesFile '~/.gitignore'

使用 Windows CMD 调整 .gitignore 路径

这样,我们将打开 Windows CMD 并编写此命令。

git config --global core.excludesFile "%USERPROFILE%\.gitignore"

使用 Windows PowerShell 调整 .gitignore 路径

打开 Windows PowerShell 并将以下命令写入其中。

git config --global core.excludesFile "$Env:USERPROFILE\.gitignore"

现在我们可以轻松设置 .gitignore 全局文件,让我们的生活更轻松。

验证 config 文件

众所周知,所有系统的设置都不相同,因此为了验证我们的 macOS、Windows 或 Windows PowerShell config 文件,看看它是否正确,我们将运行以下命令:

git config --global core.excludesfile

输出将是文件的完整路径。

输出 - 验证配置文件

如果我们看到%USERPROFILE%,那么我们就有问题了。

如果我们看到 $HOME/.gitignore_global%USERPROFILE%\.gitignore,说明出了点问题。在 Windows 上,如果我们无法继续使用 %USERPROFILE% 变量,我们将在命令提示符中运行以下命令并看到预期的答案:

git config - global core.excludesfile ~/.gitignore_global

此外,我们将进入该文件夹并打开隐藏的 .gitconfig 文件。我们将手动编辑 excludesfile 路径以返回到我们的 .gitignore_global 位置。

在下面的示例中将如下所示。

[core]excludesfile = C:\Users\adammcelhaney\.gitignore_global
作者: Abdul Jabbar
Abdul Jabbar avatar Abdul Jabbar avatar

Abdul is a software engineer with an architect background and a passion for full-stack web development with eight years of professional experience in analysis, design, development, implementation, performance tuning, and implementation of business applications.

LinkedIn

相关文章 - Git Ignore