Git是否具有某种“一次性忽略”功能?
我只希望git这次仅忽略对文件的更改,有可能吗?
我有一个包含变量的跟踪文件,我想更改:
Debug: 'true'
太“假”,
这可能吗?
我知道:
git update-index --assume-unchanged <file>
但是,如果我理解正确,它将继续不跟踪更改,直到我使用--no-assume-unchanged标志开始跟踪为止。
我可以先使用--assume-unchanged然后进行更改,然后再使用--no-assume-unchanged绕过跟踪吗?
答案 0 :(得分:3)
不,您无法执行此操作---no-assume-unchanged
之后,Git将检测到您的更改并尝试提交更改,除非您有意识地避免更改,请不要使用commit --auto
和{{1 }},只要您要更改配置文件中的内容即可。换句话说,您只能自动忽略文件,不能忽略文件中的特定更改。
您可以执行以下顺序:
add --patch
每次您更改某些内容,但是...如果有人忘记了怎么办?
解决此问题的典型方法是拥有一个未提交的配置文件(添加到git update-index --no-assume-unchanged <file>
git add --patch <file>
# pick and choose what you want for yourself only
git commit
git update-index --assume-unchanged <file>
中),并附带一个已提交的 example 配置文件(通常命名为.gitignore
,*.sample
,*.example
或类似名称)。这样,更改永远不会传播到您的协作者。当您更改配置文件的结构时,请确保也更改示例,以便其他人也可以照做。希望每个合作者都复制该示例以创建实际的配置文件,然后他们可以针对自己的环境对其进行自定义。