git-stash可以忽略对跟踪文件的修改

时间:2012-12-11 10:17:08

标签: git ignore git-stash

我正在开展一个项目,它有一些不寻常的行为:

源代码中的一个文件是包含严格代码的文件,但它可以编辑自己以包含一些配置。这是一个好的设计是一个不同的讨论,但为了能够测试我的项目,这个文件需要处于修改状态。

在我做出任何承诺之前,我通常会在贡献之前和之后进行A-B比较。我使用git stash在base和我的脏工作副本之间切换。问题是,当使用git stash时,它还会恢复我的配置。

我当前的解决方法很麻烦:我执行git add path/to/settingsfile然后git stash --keep-index,但我不喜欢这种解决方法。有没有更优雅的解决方案让git忽略对该文件的所有修改,除非我另有说明?

1 个答案:

答案 0 :(得分:1)

请参阅“Preserve git --assume-unchanged files between branch checkouts

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

不会从git stash恢复。


原始答案

来自“temporarily ignoring files ”:

 git update-index --assume-unchanged <file>

这样就可以忽略对特定文件的更改 如果您希望在保持配置更改的同时还原代码更改,这将无济于事。

git stash仍将还原它:How to prevent git stash dropping changes to files with the "assume unchanged" bit?