如果该存储库忽略了我的工作目录,如何使 git 命令(例如git status
)不在该存储库上运行?例如:
我
git init
在 ~ 中运行以创建一个 repo 来跟踪 dotfiles我在〜中添加一个
.gitignore
文件,如下所示:* !.gitignore !.bashrc
我承诺
.gitignore
并且.bashrc
我移动到 ~/src/test,它不是 git 存储库
如果我现在运行git status
,我希望看到返回的消息是
致命:不是 git 存储库(或任何父目录):.git
相反,我会看到
# 在分支master上 没有什么可提交的(工作目录干净)
因为git status
去了目录树并.git
在我的主目录中找到了该文件,即使我忽略了该 repo 中的工作目录。
我看到的唯一解决方案是将GIT_DIR
我的主目录中的 repo 设置为 .home.git 之类的东西,然后为该 repo 运行我的所有 git 命令
git --git-dir=~/.home.git --work-tree=~ <command>
我可以给它起别名,但我觉得可能有更好的方法来配置 git 来做到这一点。