如何使用git切换分支并删除被忽略的文件?

时间:2009-11-07 08:43:22

标签: git

鉴于我有一个主分支和另一个分支。在另一个分支中是我不想提交的文件(例如日志文件),所以我在.gitignore中忽略了它们。

当我切换到主分支时,这些被忽略的文件会保留,但它们只属于另一个分支。

有没有办法将一些被忽略的文件附加到特定分支(不提交它们)?

2 个答案:

答案 0 :(得分:3)

这是不可能的。如果你告诉git忽略这些文件,git会忽略它们,即。无论你正在进行什么样的操作,它都不会碰到它们。

您可以为日志文件使用特定于分支的命名方案,也可以将它们保存在每个分支的不同目录中。

或者,您可以编写一个钩子脚本(post-checkout)来管理单独的git存储库中的文件。

答案 1 :(得分:3)

Git故意让人很难丢失数据。例如,如果您忘记了git add的源文件,该怎么办?有git clean命令可帮助您清理工作副本。传递-x标志会导致它还删除.gitignore通常忽略的文件。如,

git clean -f -x

如果您想要更多控制,可以传递--dry-run标志来获取文件列表,然后您可以编写一些shell脚本来查找某些类型的文件(例如,* .log)。

然后,您可以将此脚本安装为结帐后脚本(有关示例,请参阅git-hooks)。