【问题标题】:Committing a file exactly one time in git在 git 中只提交一次文件
【发布时间】:2017-02-08 21:11:15
【问题描述】:

有没有办法将文件准确一次提交到 git repo 中,然后在 repo 中有效地将文件设为只读?

例如,我有一个配置文件,其中包含一些我不希望存储在存储库中的凭据信息,但我希望将配置文件本身的结构存储为下一个签出存储库的人的模板再水合。

这可以在回购级别完成吗?

【问题讨论】:

  • 不要将配置文件存储在存储库中。把它的名字放在.gitignore,把它从索引中删除,如果之前提交过就提交。在存储库中存储一个示例配置文件,其名称具有不同的终止符或后缀(通常在名称中添加.dist)。在可能的情况下,使用默认值填充示例配置文件,并为用户名、密码等敏感信息填充空值或虚拟值。添加足够的 cmets(使用允许它们的文件格式)以使其易于定制。

标签: git


【解决方案1】:

这是一个非常常见的项目用例,不应该按照您指定的方式完成。

更理想的方法是创建一个 sample 属性文件,而不是在 git 中包含真实的。

创建一个名为 project.sample.properties

的文件
# Local Configuration
user =
pass = 

# Defaults
server = example.com

然后使用 git,您将提交示例,并忽略用户的。

在你的 .gitignore

project.properties

然后提交

$git add .gitignore
$git add project.sample.properties

作为环境设置说明的一部分,您应该指定必须进行本地配置,或者向 maven / ant 构建脚本添加强制执行。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-01-17
    • 2015-01-16
    • 1970-01-01
    • 1970-01-01
    • 2018-04-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多