我们的存储库中有一些配置文件,需要在本地以某种方式配置这些文件才能启动应用程序。但是,这些配置不应该被推送到远程存储库中。此外,当切换分支、采摘樱桃等时,这些变化应该始终持续存在。
实现此目的的一个明显方法是将文件添加到 .gitignore 并将它们从存储库中删除,但我们需要将它们放在存储库中 - 只是不需要我们进行本地更改。
通过频繁地存储和取消存储更改(例如在挑选樱桃时),这在某种程度上是可能的,无需任何进一步的操作,但这相当烦人。
例如:我们有一个带有 的 C# 项目app.config
,其中有用于$SECURITY_PROTOCOL_TYPE$
在安装时替换的属性(例如 )的占位符。然而,为了测试等,我们不安装应用程序,我们只是启动它 - 但因此(本地)$SECURITY_PROTOCOL_TYPE$
必须替换为TLS12
. 然而,当我们挑选时,这些本地更改需要隐藏和取消隐藏,这很烦人。此外,有时会发生有人意外提交并推送这些配置文件的情况,修复起来也很烦人。
问题变得更加复杂,因为有时我们确实需要对那些需要签入的配置文件进行更改 - 当然不需要我们的本地配置。
我解决这种情况的唯一想法是以某种方式使用一个钩子,用占位符替换配置commit
(以及相反的方式merge
),但这也有点尴尬。
有没有一种优雅的方法可以用 git 解决这个问题?只是为了避免误解:我不想知道我们的存储库的设置方式不好或类似的事情,我只想解决这个问题:我需要以某种方式锁定git的文件,以便 git 假装它们没有改变,除非我明确这么说。
我无法从文件中读取数据,并将数据(文本)的选定部分连接到我自己的缓冲区中.
代码如下:
char buffer[1000];
char* allNewData = (char *)malloc(10000);
while (! myfile.eof() )
{
myfile.getline (buffer, 1000);
pch = strstr (buffer,"bla bla");
if(pch == NULL)
{
char* temp = buffer;
strcat(allNewData, temp);
strcat(allNewData, "\n");
}
else
{
strcat(allNewData, "here's bla bla");
strcat(allNewData, "\n");
}
}
cout<<allNewData<<endl;
Run Code Online (Sandbox Code Playgroud)
当我运行程序时,allNewData
首先有一些垃圾文本,然后是正确/预期的结果,如下所示:
iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii <-rubbish data
hello <- actual data
Run Code Online (Sandbox Code Playgroud)
我需要摆脱这些垃圾数据,如何更改代码来实现这一目标?
在我的"应用程序"目录中,我有一个"logs"目录和一个"config"目录,两者都在版本控制下,都有本地修改过的文件,都被告知要忽略这些文件.但是只有一个忽略工作:
> pwd
website.com/trunk/application/
> svn propget -R svn:ignore
logs - *.log
configs - *.ini
> svn status
M logs/website.log
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?谢谢你的任何指示.
在我的语法高亮显示器中,我使用正则表达式来解析不同的术语.下面是我解析PHP类的方法:
foreach ( PHP::$Classes as $class )
$code = preg_replace( "/\b{$class}\b/", $this->_getHtmlCode( $class, PHP::$Colors['class'] ), $code );
Run Code Online (Sandbox Code Playgroud)
现在,只需忽略PHP类和_getHtmlCode函数.正则表达式"/\b{$class}\b/"
匹配诸如的名称count
.如果我创建一个名为的变量$count
,那么匹配就好了.
如何查找前面没有的类名$
?
可能重复:
Oracle DB:如何编写忽略大小写的查询?
我有一个SQL查询它,并且where条件包含英语和阿拉伯字符,因此我不能使用toupper或tolower,因为阿拉伯字符将显示为问号。
DBMS是Oracle
我有完整的dir结构
这里是.gitignore的内容
conf.php
问题是,当我更改内容conf.php并尝试提交某些内容时,GIT会conf.php
再次检测到已更改的文件.实际上它必须被忽略.
我已经承诺了一次.我想从现在开始忽略它.我错过了什么?
我试过以下:
从缓存中删除它 git rm --cached conf.php.
但现在,当我重新扫描项目时,它想要conf.php
移除.
这不是我想要的.
我想将它保存在远程仓库并忽略本地仓库的未来(从现在开始)变化.
我目前在我的页面上有以下代码.
<?php
if($result["r_approved"] == "APPROVED"){
echo "<!--";
}
?>
<div class="main">
<div class="main-sub">
<?php include('http://www.contractorsintelligence.com/contractors-license/includes-page-elements/navigation1.php'); ?>
<div id="mid-top"><img src="https://www.contractorsintelligence.com/images/shadowbg-top.png" width="990" height="20" alt="Top Spacer"/></div>
<div id="mid_shdw">
<?php
if($result["r_approved"] == "APPROVED"){
echo "-->";
}
?>
Run Code Online (Sandbox Code Playgroud)
有了这个代码,我试图阻止/忽略的代码块用<!--
和-->
,但它并不想忽略PHP代码.我如何使用PHP来阻止代码的整个部分?如果您使用我当前的"if"语句变量,我将非常感激.
谢谢!
当我从GitLab将一个仓库复制到本地时,它连同源代码一起也在根文件夹调用程序中提取了一个文件.gitignore
。还有一个名为的文件夹.git
,其中包含目录,info
其中包含名为的文件exclude
。忽略(对我而言,忽略和排除表示相同)是哪一个?是忽略还是排除?
我做了一个新的存储库。这是一个 JavaScript/HTML/CSS 项目。
当我在 GitHub.com 个人资料上创建目录时,我忘记从 git ignore 下拉菜单中选择 git ignore Node.js。
在我已经创建了存储库之后,有没有办法让我忽略 Node.js?
谢谢你的帮助。
我试图在每个'.'分割一个字符串.(句点),但句点是java正则表达式使用的符号.示例代码,
String outstr = "Apis dubli hre. Agro duli demmos,".split(".");
Run Code Online (Sandbox Code Playgroud)
我无法摆脱句号角色,那么我怎么让Java忽略它?