Git代理 - 添加的未添加文件

时间:2013-10-04 18:37:26

标签: git

在一个名为“beta”的分支上执行以下操作:

$ git checkout master
error: The following untracked working tree files would be overwritten by checko
ut:
        Documentation/packages/CoreTheme_Template_helpers.html
        Documentation/packages/default.html
Please move or remove them before you can switch branches.
Aborting

确定,

$ git status
# On branch beta
nothing to commit, working directory clean 

怎么回事?

3 个答案:

答案 0 :(得分:1)

在你的beta列表中,您的Documentation/packages/*列表中添加了.gitignore个文件。这些文件存在,但不是该分支上的回购的一部分。

这可能发生在您的repo根目录中的.gitignore文件中,或.gitignoreDocumentation/目录中的`Documentation/packages/文件中,或通过{{1文件。

但是,在主分支中提交相同的文件(具有相同/不同的内容)。

因此,当您执行git checkout master时,git会因为尝试覆盖现有文件而引发错误。

移动/重命名这些文件并进行结帐,然后提交您稍后需要的文件来解决问题。

答案 1 :(得分:1)

您工作树中所有未跟踪的文件都与.gitignore模式匹配,因此git status会忽略它们。

在分支master上,会跟踪这两个文件,这些文件在当前工作树中未跟踪和忽略。 (Git不会忽略跟踪的文件)。因此,检出master会扼杀工作树中未提交的内容,而git也不会这样做。

答案 2 :(得分:0)

这意味着您的文件系统上有文件(在当前分支中未跟踪),该文件存在于您要检查的分支中。

删除或删除它们。