我可以创建一个用户特定的gitignore文件吗?

l2osamch  于 2023-03-16  发布在  Git
关注(0)|答案(6)|浏览(132)

我想修改gitignore,但不是团队中的每个人都想做这些修改。一个用户怎么能有自己的git ignore文件呢?

hec6srdp

hec6srdp1#

您可以使用创建自己的.gitignore

git config --global core.excludesfile $HOME/.gitignore

然后将所需的条目放入该文件中。

qrjkbowd

qrjkbowd2#

对于特定于用户和特定于repo的文件忽略,应填充以下文件:

$GIT_DIR/info/exclude

通常$GIT_DIR代表:

your_repo_path/.git/
iszxjhcz

iszxjhcz3#

在他们的.gitconfig中:

[core]
    excludesfile = ~/.global_gitignore

这样,他们就可以全局忽略某些类型的文件。每个用户都可以有自己的全局忽略文件。

mitkmikd

mitkmikd4#

例如,您希望忽略~/some/path/.idea文件夹:

# 1. Add .idea to user specific gitignore file
echo .idea > ~/.gitignore

# 2. Add gitignore file to gitconfig
git config --global core.excludesfile ~/.gitignore
63lcw9qa

63lcw9qa5#

正如Atlassian的.gitignore教程中所指出的,您也可以使用repo的<repo>/.git/info/exclude文件,您可以使用任何文本编辑器轻松地编辑它,它的工作原理与.gitignore相同。
我可以很容易地忽略我的intelliJ文件,个人dockerfiles和只有我需要使用的东西。

a14dhokn

a14dhokn6#

全局(用户)范围忽略

根据gitignore Documentation,存在用户级excludesfile默认值,无需编辑git config --global core.excludesfile
用户希望Git在任何情况下忽略的模式(例如用户编辑器生成的备份或临时文件)通常会放在用户的~/.gitconfig中由core.excludesFile指定的文件中。它的默认值是$XDG_CONFIG_HOME/git/ignore。如果$XDG_CONFIG_HOME未设置或为空,则使用$HOME/.config/git/ignore。
因此,只需创建(并填充)相关文件,通常为$HOME/.config/git/ignore(可能还有path):

if [ -z "${XDG_CONFIG_HOME}" ] ;
then 
    echo "XDG_CONFIG_HOME unset or empty, try \$HOME" ;
    if [ -z "${HOME+x}" ]
    then
        echo "Variables for default not set"
        echo "use explicit \`git config --global core.excludesfile EXCLUDES_FILE\`"
    else
        echo using \$HOME
        mkdir -p "$HOME/.config/git" && touch "$HOME/.config/git/ignore"
    fi
else
    echo using \$XDG_CONFIG_HOME
    mkdir -p "$XDG_CONFIG_HOME/git" && touch "$XDG_CONFIG_HOME/git/ignore"

fi

警告:此配置是隐式的,而不是显式的。请考虑将git config --global core.excludesfile设置为所选文件,即使它是默认值。

Repo范围用户特定忽略

特定于某个存储库但不需要与其他相关存储库共享的模式(例如,存储库中的辅助文件,但特定于某个用户的工作流)应放入$GIT_DIR/info/exclude文件中。
因此,从存储库的根目录开始,编辑.git/info/exclude

相关问题