git rm提交后,MacOS上的Git恢复文件

时间:2019-01-05 22:05:09

标签: git macos macos-high-sierra

正在运行MacOs High Sierra 10.13.4和git版本2.17.0。

这是我的工作流程:

  • git rm ./some/file.out
  • 运行git status,发现./some/file.out的删除正在等待提交
  • 检查ls ./some/并查看文件已被删除
  • 运行git commit并看到消息,一个文件已删除

但是:

  • 如果我随后运行git status,我会看到文件仍然存在但未被跟踪。
  • 在未跟踪的文件上运行git clean -df时,它会被删除并且不会返回。

我也尝试过

  • 使用非git rm ./some/file.out删除文件
  • 先运行git add .,然后运行git commit,然后查看文件已删除消息
  • 运行git status并显示文件仍然存在,但未跟踪

这似乎是最近才开始发生的。

这是我的git配置:

credential.helper=osxkeychain
core.hookspath=/Users/myname/.git_hooks
core.excludesfile=/Users/myname/.gitignore
user.email=myname@somewhere.com
color.ui=true
color.branch=true
color.status=true
color.diff=true
color.interactive=true
color.grep=true
color.pager=true
color.decorate=true
color.showbranch=true
alias.pt=!git push -u origin `git rev-parse --abbrev-ref HEAD`
alias.co=checkout
alias.cob=checkout -B
alias.b=branch
alias.bd=branch -D

潜在的潜力是什么-具体来说,是否还有其他人看到过类似的东西并发现它与git相关?

仅在终端中删除文件(非git repo文件)没有此行为。

1 个答案:

答案 0 :(得分:0)

戳我的~/.git_hooks。似乎应该怪我在~/.git_hooks/pre-commit.d文件夹中调用的脚本。

不确定脚本到底在做什么(或应该做什么),但是当我删除脚本时,git rm && git commit功能可以正常工作-不再有文件丢失!