【问题标题】:stop git from looking in previous dirs阻止 git 查看以前的目录
【发布时间】:2012-02-12 21:49:43
【问题描述】:

我的主目录上有一个 git repo,我在其中管理一些点文件和东西。在.gitignore 文件中,我有Desktop 文件夹,所以它不涉及git repo。

当我在桌面文件夹中时,即使没有 .git 存储库,当我输入 git status 时,我也会得到这个

% git status  
 On branch master  
 Changes to be committed:  
   (use "git reset HEAD <file>..." to unstage)  
    modified:   ../.zsh/misc.zsh  
 Untracked files:  
   (use "git add <file>..." to include in what will be committed)  
    ../.irbrc

如果 git 不查看我的主文件夹,我希望它只查看 pwd,别无他处。

我该怎么做?
谢谢。

【问题讨论】:

  • 好吧,我真的想让 zsh 让我知道是否有 git repo pwd。我想我会检查是否有 .git 目录。谢谢大家。
  • 所以你让你的主目录成为一个 git 存储库(即你的主目录中有.git)?

标签: git status subdirectory


【解决方案1】:

一种解决方案是从您的桌面文件夹运行git init,这会在~/Desktop/.git 创建一个空的Git 存储库。您不必为此做出任何承诺。但是,当你输入 git status 时,它会阻止 Git 向上遍历目录树。

或者,只需避免在桌面文件夹中输入git status。反正它不是一个 Git 存储库,对吧?

【讨论】:

    【解决方案2】:

    Git 不在您的 ~/Desktop/ 中查找,如果它在您的 .gitignore 中。

    从编辑文件的位置来看,我猜你的~ 中有一个 git 存储库。如果你touch ~/Desktop/testfilecd ~/Desktopgit status,你不应该在Untracked files: 下看到它,因为~/Desktop 中的所有内容都被忽略了。

    但是,您在 git 存储库中调用了 git status - 位于(我猜)在您的 ~ 中的那个。当您发出git status 时,Git 只是查看您所在的存储库,而忽略.gitignoreDesktop 目录中的所有内容。

    【讨论】:

      【解决方案3】:

      如果 git 不查看我的主文件夹,我希望它只查看 pwd,别无他处。

      如果pwd 在您的主文件夹中并且您的主文件夹是 git 存储库,那么即使 pwd.gitignore 中的条目之一,git 也会查找存储库(您的主文件夹)。

      如果我是你,我不会将我的主文件夹设为 git 存储库,因为我的主文件夹中的任何地方都将成为 git 存储库的一部分。如果我需要将我的 dotfiles 放入 git 存储库,我会将文件放在单独的文件夹中,使该文件夹成为 git 存储库,并从主文件夹创建指向文件夹内文件的符号链接。它并不漂亮,但它不会使我的主文件夹成为 git 存储库。

      【讨论】:

        猜你喜欢
        • 2021-10-23
        • 2011-05-16
        • 1970-01-01
        • 1970-01-01
        • 2016-11-01
        • 2012-07-30
        • 1970-01-01
        • 2012-05-30
        • 2019-06-17
        相关资源
        最近更新 更多