在纱线工作区中运行“ git clean -xdf”时,跟踪文件将被删除

时间:2019-09-09 13:30:48

标签: git yarnpkg yarn-workspaces

在具有纱线工作空间的仓库中运行git clean -xdf时,将删除工作空间的内容。

考虑此文件夹结构:

  • 工作区1
    • index.js
    • package.json
  • 工作区2
    • index.js
    • package.json
  • .gitignore
  • README.md
  • package.json
  • yarn.lock

运行git clean -xfd后,粗体文件(跟踪的源代码控制文件)将被删除!即使干净不应该完全影响跟踪的文件。

我相信这是一个纱线工作区错误。我已经打开了一个问题@yarn: https://github.com/yarnpkg/yarn/issues/7536

有人遇到此错误吗?没有人有解决方法或知道此行为的根本原因吗?

对于那些有兴趣亲眼看到该错误的人,我创建了一个可使其轻松重现的存储库: https://github.com/Shmulik-Kravitz/yarn-with-git-bug

复制步骤在内部。

yarn --verbose的输出(很长): https://github.com/Shmulik-Kravitz/yarn-with-git-bug/blob/master/yarn%20log

git clean -xdf的输出:

Removing node_modules/

git status的输出:

On branch master
Your branch is up to date with 'origin/master'.

Changes not staged for commit:
  (use "git add/rm <file>..." to update what will be committed)
  (use "git checkout -- <file>..." to discard changes in working directory)

        deleted:    workspace1/index.js
        deleted:    workspace1/package.json
        deleted:    workspace2/index.js
        deleted:    workspace2/package.json

no changes added to commit (use "git add" and/or "git commit -a")

1 个答案:

答案 0 :(得分:2)

如果您使用的是Windows,我敢肯定,最可能的原因是以下问题:https://github.com/git-for-windows/git/issues/607。 Git确实删除了连接点的内容。

我可以使用“ git版本2.22.0.windows.1”重现您的问题,但升级到“ git版本2.23.0.windows.1”后不再可见。