我经常遇到这种情况。我正在研究一个主分支,我需要测试一个插件,所以我创建一个新分支并检查它。我将插件下载到项目目录中并进行测试。然后我切换回主分支并删除我创建的分支。
最终发生的事情是插件的文件保留在项目目录中。我想知道这是否是正常行为。为了在分支机构之间进行无缝切换,我该怎么做?
答案 0 :(得分:12)
git不会从您的工作副本中删除未跟踪的文件,因此除非您添加了插件的文件并在新分支上创建了提交,否则git将不会对您的插件文件执行任何操作。
如果要从工作树中删除未跟踪的文件,请使用git clean
- 请注意,它将从磁盘中删除任何未跟踪的文件,并且无法从中恢复(不使用取消删除软件)
答案 1 :(得分:0)
尝试结帐-f
请参阅git --help checkout:
即使索引或工作树与HEAD不同,也要继续。 这用于丢弃本地更改。
答案 2 :(得分:0)
如果要在目录结构不同的分支之间来回切换,并且发现遗留了一些工件,则可能需要运行:
git clean -df
这将“删除”“强制”。您将丢失所有未跟踪的文件,我认为这可能只有一步之遥:
git reset --hard