存储库文件显示在`git status`中

时间:2016-11-30 09:55:15

标签: git gitignore

我使用$HOME对我的git进行版本控制,但使用名称不同的存储库目录,以便我的提示始终不显示git信息。

我想在git上使用$HOME时设置别名:

alias gith='git --git-dir=/home/ravi/.githome --work-tree=/home/ravi'

存储库目录.githome本身不应该出现在gith status中,但它是:

~$ git --git-dir=/home/ravi/.githome --work-tree=/home/ravi status -s
 M .dotfiles
 M .githome/COMMIT_EDITMSG
 M .githome/index
 M .githome/index.lock
 M .githome/logs/HEAD
 M .githome/logs/refs/heads/master
 M .githome/refs/heads/master
 M .local/share/fzf
 M bin
 M lib
 M prj/sample_app

我试图忽略目录.githome,如下所示:

~$ grep .githome .gitignore
/.githome/
~$ cat .githome/.gitignore 
*

问题:

  1. 为什么我的两个排除文件没有工作?
  2. 为什么我还需要明确地排除存储库目录?

2 个答案:

答案 0 :(得分:3)

确保您尚未提交githome,因为gitignore无法从存储库中删除文件。

git rm -rf --cached .
git add .

运行它。它将通过清除所有内容并将其与gitignore文件相关联来使您的存储库再次运行。

答案 1 :(得分:1)

事实证明,.githome已在先前的提交中添加。

根据@Tim的评论和@ KingAlandyDy的回答,我做了以下事情:

gith rm -r --cached .githome/