【问题标题】:git - how to hide changes for a particular file at a repo level [duplicate]git - 如何在回购级别隐藏特定文件的更改[重复]
【发布时间】:2013-09-03 18:20:43
【问题描述】:

我们在 git 中有一个我们从不想要更改的文件。此文件具有产品随附的默认值。但是,当我们在本地运行构建过程时,该文件会发生变化。

因此,当人们忘记并提交它时,这个文件自然会一直被签入。

是的,我知道这很愚蠢 - 但很难改变这种行为(不要问)......

有没有办法在 repo 级别标记这个文件,这样它就不会在 git status 中显示为已更改?如果 repo 中的版本被签出并覆盖本地副本,那很好。

想法?

谢谢

【问题讨论】:

    标签: git


    【解决方案1】:

    你可以试试,从命令git update-index:

    git update-index --skip-worktree -- path
    

    --[no-]skip-worktree

    当指定这些标志之一时,为路径记录的对象名称不会更新。
    相反,这些选项设置和取消设置路径的“skip-worktree”位。

    Skip-worktree 位可以定义在一个(长)句子中:
    当读取一个条目时,如果它被标记为skip-worktree,那么 Git 会假装它的工作目录版本是最新的,而是读取索引版本。

    【讨论】:

    • 这必须在每个开发者的机器上运行,对吧?我认为这主要解决了问题,但理想的是在回购级别进行设置。
    • @philswenson 然后在回购级别,你有内容过滤器驱动程序,但它更棘手:stackoverflow.com/a/4287968/6309
    猜你喜欢
    • 1970-01-01
    • 2017-05-02
    • 2021-09-14
    • 2016-12-24
    • 1970-01-01
    • 2018-09-06
    • 2014-01-21
    • 2017-04-18
    相关资源
    最近更新 更多