如何让GIT_PS1_SHOWDIRTYSTATE不针对裸仓库运行?

时间:2011-10-06 13:59:22

标签: git bash bash-completion git-bare

所以我已经为我的git安装设置了bash自动完成功能。但是,我有一个简单的回购,我偶尔必须直接与(git reset)进行交互,并且只要我cd进入裸回购,GIT_PS1_SHOWDIRTYSTATE设置我必须告诉我正常工作树运行的状态,我看到这个消息:

fatal: This operation must be run in a work tree

我认为,尝试针对该回购邮件运行git status,但是如果没有,则报告错误。

每次我在裸露的回购中做任何事情时,我都希望不会发现错误。它已经把我扔了几次。

2 个答案:

答案 0 :(得分:1)

你可以在你的仓库上做git config core.bare来检查它是否裸露。如果使用git init --bare创建存储库,这是可靠的。对于裸存储库,它将返回true,对于其他存储库,它将返回false。您可以使用此过滤器根据需要过滤调整完成脚本。

答案 1 :(得分:1)

因此,事实证明,使用该要点正是这种情况无法正常工作的原因。我设置.bash_profile来加载我安装Git时附带的bash完成,一切都很顺利。谢谢!