我的问题可能在问题标题中不明显,所以我举个例子,
假设我在机器1上的html文件index.html
如下:
机 - 1
<div class="col-xs-5 col-md-5 col-lg-3>
Lorem ipsum eget turpis urna curabitur fermentum ultricies enim, est magna at quam nam nisl praesent accumsan egestas, ut sit ac pulvinar tristique quisque tristique.</div>
我提交这个并推送到远程。
在我的另一台机器上,我从远程拉,但在这里,我希望Sample数据不同说:
机-2
<div class="col-xs-5 col-md-5 col-lg-3>
Pharetra diam aenean vehicula sociosqu etiam at cubilia, mattis inceptos suscipit curabitur placerat ultrices, lorem consectetur lorem class curabitur donec.</div>
我提交这个并推送到远程。
当我从Machine-1上的遥控器拉出时,Machine-1上的样本数据“Lorem ipsum eget turpis ...”(在本地仓库中)不应该被来自Machine-2“Pharetra diam aenean vehicula ...的样本数据覆盖... “
是否有任何命令,变通方法,设置来管理此方案。
谢谢
问题是,git
如何知道您认为特定于回购的样本数据;更少跟踪从哪台机器推送哪些样本数据?
一种解决方案是源控制模板
<div class="col-xs-5 col-md-5 col-lg-3>
${sample_data}</div>
然后你会有一些过程,通过这个过程$(sample_data}
被机器或环境的特定样本数据替换。 (通常这是作为软件构建过程的一部分完成的。)
在Maven的说法中,这称为“过滤”,机器特定的值将在“过滤器文件”中。更一般地说,您正在为占位符插值,您可以将包含值的文件视为特定于机器的属性文件。无论你怎么称呼它们,你都可以根据某些约定将每台机器的数据存储在源代码控制中的单独文件中(比如/filter-files/machine1.filter
可能有machine1的值),这样在构建特定机器/环境时就可以选择正确的文件。或者值可以存储在源代码控制之外,并且只在构建时提供。
这种方法更常用于配置文件,而不是div的示例内容,但原则或多或少相同。在更一般的上下文中,您可以看到在源代码管理中使用某些默认配置可能有用,但是例如在生成服务器上保持生产系统的值是分开的,这样就不需要将敏感信息放在源代码管理中。