代码之家  ›  专栏  ›  技术社区  ›  Juri Glass

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

git
  •  5
  • Juri Glass  · 技术社区  · 15 年前

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

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

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

    2 回复  |  直到 15 年前
        1
  •  3
  •   Ferdinand Beyer    15 年前

    这是不可能的。如果你告诉Git忽略这些文件,Git将忽略它们,也就是说,无论你执行什么Git操作,它都不会触碰它们。

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

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

        2
  •  3
  •   Pat Notz    15 年前

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

    git clean -f -x
    

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

    然后,可以将此脚本安装为签出后脚本(请参见 git-hooks 例如)。