相当于;git更新索引--假定未更改;在SourceTree中

相当于;git更新索引--假定未更改;在SourceTree中,git,version-control,Git,Version Control,到目前为止,我在数据库配置文件中使用了git update index——假设在我填写数据库密码后未更改,因为我不希望数据库密码进入公共代码存储库 现在我想尝试使用SourceTree一段时间,但我找不到同样的方法:该文件应保留在存储库中,但我只希望SourceTree在我的工作副本中忽略对该文件的更改。很可能SourceTree没有以这种方式操作索引的功能(虽然我可能错了,但似乎没有错)。然而,这并不意味着您不能下拉到终端以发出该命令,而是继续使用SourceTree进行其他操作。我刚刚为该任

到目前为止,我在数据库配置文件中使用了
git update index——假设在我填写数据库密码后未更改
,因为我不希望数据库密码进入公共代码存储库


现在我想尝试使用SourceTree一段时间,但我找不到同样的方法:该文件应保留在存储库中,但我只希望SourceTree在我的工作副本中忽略对该文件的更改。

很可能SourceTree没有以这种方式操作索引的功能(虽然我可能错了,但似乎没有错)。然而,这并不意味着您不能下拉到终端以发出该命令,而是继续使用SourceTree进行其他操作。

我刚刚为该任务定义了自定义操作

确保git的路径是正确的

感谢评论中的@RobCroll,我们现在有了Windows版本:

C:\Program Files (x86)\Git\bin\git.exe (for x64 use: C:\Program Files\Git\bin)
Parameters: update-index --assume-unchanged $FILE 

谢谢你,维克。就像我以前做的那样,在终端中使用git对我有好处。我不会认为SourceTree尊重我在终端中使用git所做的事情,但它确实尊重。尽管终端始终是一个选项,但添加一个自定义操作@Fabian Blechschmidt answers是一个不错的选择。Windows版本:C:\Program Files(x86)\Git\bin\Git.exe参数:更新索引--假设$fileunchanged如果SourceTree有一个变量,比如
$Git
,它保存它使用的Git的完整路径,那就更好了。这可以在“要运行的脚本”中使用字段。我在命令历史记录中注意到SourceTree只使用了
git
,而没有完整路径。我已经尝试过了,而且效果很好。这可能是个坏主意™, 但我认为,如果这个自定义操作与SourceTree的其他命令在相同的环境中运行,它可能就足够安全了。如果您可以通过运行
whereis git
轻松找到git所在的位置,我可以确认@RobCroll的答案适用于windows。我的答案位于
C:\Program Files\git\bin\git.exe
(x64)。我很高兴我注意到了这个问题和下面关于添加自定义操作的问题。我希望此“假定未更改”功能适用于尚未添加到存储库的新文件,但它不适用。它会出现错误,“致命:无法标记文件fu.bar”。@LS对于尚未添加到存储库的文件,请使用忽略功能。