Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Git 使用core.worktree时忽略文件_Git - Fatal编程技术网

Git 使用core.worktree时忽略文件

Git 使用core.worktree时忽略文件,git,Git,我创建了一个git回购: mkdir ~/configs cd ~/configs git init git config core.worktree "../../" echo "*" > .gitignore 但文件不会被忽略: git status Sur la branche master Validation initiale Fichiers non suivis: (utilisez "git add <fichier>..." pour inc

我创建了一个git回购:

mkdir ~/configs
cd ~/configs
git init
git config core.worktree "../../"
echo "*" > .gitignore
但文件不会被忽略:

git status    
Sur la branche master

Validation initiale

Fichiers non suivis:
  (utilisez "git add <fichier>..." pour inclure dans ce qui sera validé)

    ../.ICEauthority
    ../.Skype/
    ../.VirtualBox/
    [...]

如何在使用git config core.worktree时忽略文件?

您的.gitinore文件在git工作树的根目录下工作得更好

考虑

echo "*" > ../../.gitignore
当您分离git目录和工作树时,我通常建议您创建一个裸git回购,尽管这会使它看起来更复杂

也要考虑下面的内容,而不是使用GiTigNo.

# git config status.showUntrackedFiles no
# git config status.relativePaths false
showUntrackedFiles=no告诉git只报告对跟踪文件的更改,而不报告未跟踪的文件。它还消除了使用-f的需要 每当您觉得需要向存储库添加新文件时。另一个优点是,您可以使用git status-u动态覆盖showUntrackedFiles设置

我发现RelativePath选项很方便。git状态在报告文件状态时将使用绝对路径。由于工作目录在git目录之外,我发现这是一个更清晰的视图,可以看到发生了什么变化

最后,当您想要进行提交时,您将发现您必须继续使用CD转到git目录。试一试

# export GIT_DIR=/path/to/.git
# git status
为了避免在我的shell环境中有一个固定的GIT_DIR,我通常将它包装在一个别名中,这样GIT_DIR只为GIT的特定实例设置

这将允许您从任何地方管理git存储库,甚至在工作树之外。它也非常适合我上面提到的裸存储库


HTH

您的.gitignore文件在git工作树的根目录下工作得更好

考虑

echo "*" > ../../.gitignore
当您分离git目录和工作树时,我通常建议您创建一个裸git回购,尽管这会使它看起来更复杂

也要考虑下面的内容,而不是使用GiTigNo.

# git config status.showUntrackedFiles no
# git config status.relativePaths false
showUntrackedFiles=no告诉git只报告对跟踪文件的更改,而不报告未跟踪的文件。它还消除了使用-f的需要 每当您觉得需要向存储库添加新文件时。另一个优点是,您可以使用git status-u动态覆盖showUntrackedFiles设置

我发现RelativePath选项很方便。git状态在报告文件状态时将使用绝对路径。由于工作目录在git目录之外,我发现这是一个更清晰的视图,可以看到发生了什么变化

最后,当您想要进行提交时,您将发现您必须继续使用CD转到git目录。试一试

# export GIT_DIR=/path/to/.git
# git status
为了避免在我的shell环境中有一个固定的GIT_DIR,我通常将它包装在一个别名中,这样GIT_DIR只为GIT的特定实例设置

这将允许您从任何地方管理git存储库,甚至在工作树之外。它也非常适合我上面提到的裸存储库


HTH

谢谢!我将使用你的简单回购想法。在我接受你的回答之前:echo*>../../.gitignore不起作用。echo*>...git正在工作。谢谢!我将使用你的简单回购想法。在我接受你的回答之前:echo*>../../.gitignore不起作用。echo*>...gitignore正在工作。