【问题标题】:Why do I receive the error "Untracked working tree file" when switching branches in Git?为什么在 Git 中切换分支时收到错误“未跟踪的工作树文件”?
【发布时间】:2012-01-17 11:47:36
【问题描述】:

直到昨天,我的项目只有一个带有 .gitignore 文件的分支,类似于:

*.log
upload/*
!upload/global/empty.txt

在我添加一个新分支并将此 .gitignore 更改为不忽略上传文件之前,它运行良好。新的 .gitignore 文件只剩下一行:

*.log

我回到master分支没有问题,但现在每次我想去新分支时都会收到这样的消息:

错误:未跟踪的工作树文件“upload/file.txt”将是 被合并覆盖。

我需要签出这个分支才能使用它,或者至少挽救我所做的提交。

注意:我找到了这个similar question,但没有回答我的问题。

【问题讨论】:

  • 所以您在新分支中从.gitignore 文件中删除了*.log 行?而且你在两个分支的 `.gitignore' 文件中还有upload/*
  • 不,我删除了“upload/*”和“!upload/global/empty.txt”行

标签: git


【解决方案1】:

您的问题是在新分支中您没有跟踪upload/file.txt,但您在主分支中跟踪它。因此,当您切换到新分支时,您的 master 版本将覆盖未跟踪的文件。

-f 标志添加到您的git checkout,以强制git 覆盖未跟踪的文件。

【讨论】:

  • 它有效,我可以更改分支。但它为 upload 文件夹中的每个文件提供了“无法取消链接”的错误列表。 Git 状态在两个分支中都说“没有什么可以提交”。有可能避免这个错误还是我应该忍受它? :)
猜你喜欢
  • 2015-08-14
  • 2019-06-19
  • 2011-05-26
  • 2018-02-22
  • 2020-09-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-03-28
相关资源
最近更新 更多