git - 如何在仓库级别隐藏特定文件的更改

13 浏览
0 Comments

git - 如何在仓库级别隐藏特定文件的更改

我们在git中有一个文件,我们永远不想更改。该文件具有产品随附的默认值。然而,当我们在本地运行构建过程时,这个文件会被更改。

因此,自然而然地,人们会忘记并提交这个文件,导致它经常被检入。

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

有没有办法在库级别上标记这个文件,以便在git状态中永远不会显示为已更改?如果在库中的版本被检出并覆盖本地副本,这是可以接受的。

有什么想法吗?

谢谢

0
0 Comments

在git中,有时候我们希望隐藏某个文件的更改,不让其被提交到版本库中。这个问题的出现可能是因为我们希望在某些情况下,不同的开发者对同一个文件有不同的更改,但我们希望这些更改只在各自的本地生效,并不希望被提交到共享的版本库中。

解决这个问题的方法是使用git的命令`git update-index`,具体命令如下:

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

其中`path`是指定文件的路径。通过这个命令,我们可以将文件的`skip-worktree`标志设置为true,表示忽略对该文件的更改。

需要注意的是,这个命令需要在每个开发者的本地机器上运行,才能实现对该文件更改的隐藏。虽然这个方法基本上解决了问题,但我们希望能够在整个版本库的级别上设置隐藏。

在版本库级别上,我们可以使用内容过滤器驱动器(content filter driver)来实现隐藏文件更改的目的。不过,这种方法相对复杂一些。具体操作可以参考这个链接:stackoverflow.com/a/4287968/6309

通过上述方法,我们可以在git中实现对特定文件更改的隐藏,从而满足不同开发者在本地对同一个文件有不同更改的需求,并且避免将这些更改提交到版本库中。

0