所以我已经为我的git安装设置了bash自动完成功能。但是,我有一个简单的回购,我偶尔必须直接与(git reset
)进行交互,并且只要我cd
进入裸回购,GIT_PS1_SHOWDIRTYSTATE
设置我必须告诉我正常工作树运行的状态,我看到这个消息:
fatal: This operation must be run in a work tree
我认为,尝试针对该回购邮件运行git status
,但是如果没有,则报告错误。
每次我在裸露的回购中做任何事情时,我都希望不会发现错误。它已经把我扔了几次。
答案 0 :(得分:1)
你可以在你的仓库上做git config core.bare
来检查它是否裸露。如果使用git init --bare
创建存储库,这是可靠的。对于裸存储库,它将返回true
,对于其他存储库,它将返回false
。您可以使用此过滤器根据需要过滤调整完成脚本。
答案 1 :(得分:1)
因此,事实证明,使用该要点正是这种情况无法正常工作的原因。我设置.bash_profile
来加载我安装Git时附带的bash完成,一切都很顺利。谢谢!