2009-11-07 128 views
4

鉴于我有一个主分支和其他分支。在另一个分支中是我不想提交的文件(例如日志文件),所以我在.gitignore中忽略了它们。如何使用git切换分支并删除被忽略的文件?

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

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

回答

3

这是不可能的。如果你告诉git忽略这些文件,git会忽略它们,即。无论您正在执行的是何种git操作,它都不会触及它们。

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

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

3

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

git clean -f -x 

如果你想要更多的控制,你可以通过--dry-run标志来获取文件的列表,然后你可以写一些shell脚本来寻找某些类型的文件(例如,* .LOG)。

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

相关问题