草庐IT

regex_replace

全部标签

regex - 在 Git 提交消息前添加部分分支名称

我当前的分支命名约定是这样的:ticket-45-my-new-feature-branch-description我目前在我的.git/hooks/prepare-commit-msg文件中使用这段代码来为每个提交消息添加分支名称:BRANCH_NAME=$(gitbranch2>/dev/null|grep-e^*|tr-d'*')if[-n"$BRANCH_NAME"]&&["$BRANCH_NAME"!="master"];thenecho"[$BRANCH_NAME]$(cat$1)">$1fi最终结果:[ticket-45-my-new-feature-branch-des

regex - 解释 gitignore 模式匹配

我有以下目录树:>#pwdistherepo>tree-a.├──.git│  |.....├──.gitignore├──README.md├──f1.html├──f2.html...andsomemorehtml├──images│  └──river.jpg>我的.gitignore中还有以下内容:>cat.gitignore*!*.html!images/*.*>我希望images目录中的所有文件都包含在repo中。但这并没有发生。我在gitignore中使用以下命令让它工作:*!*.html!images*!*.jp*g这里发生了什么?有没有万无一失的方法来测试gitign

regex - 解释 gitignore 模式匹配

我有以下目录树:>#pwdistherepo>tree-a.├──.git│  |.....├──.gitignore├──README.md├──f1.html├──f2.html...andsomemorehtml├──images│  └──river.jpg>我的.gitignore中还有以下内容:>cat.gitignore*!*.html!images/*.*>我希望images目录中的所有文件都包含在repo中。但这并没有发生。我在gitignore中使用以下命令让它工作:*!*.html!images*!*.jp*g这里发生了什么?有没有万无一失的方法来测试gitign

regex - 忽略与 git diff 中的字符串匹配的更改

我对大量在git中进行版本控制的文件进行了一次简单的更改,我希望能够检查没有其他更改进入这个大型提交。所有的变化都是形式-"main()",+OOMPH_CURRENT_FUNCTION,其中“main()”可以是任何函数的名称。我想生成所有不是这种形式的更改的差异。gitdiff的-G和-S选项非常接近——它们找到与字符串或正则表达式匹配的更改。有什么好的方法吗?到目前为止的尝试另一个question描述了如何否定正则表达式,使用这种方法我认为命令应该是gitdiff-G'^((?!OOMPH_CURRENT_FUNCTION).)*$'但这只是返回错误信息fatal:invalid

regex - 忽略与 git diff 中的字符串匹配的更改

我对大量在git中进行版本控制的文件进行了一次简单的更改,我希望能够检查没有其他更改进入这个大型提交。所有的变化都是形式-"main()",+OOMPH_CURRENT_FUNCTION,其中“main()”可以是任何函数的名称。我想生成所有不是这种形式的更改的差异。gitdiff的-G和-S选项非常接近——它们找到与字符串或正则表达式匹配的更改。有什么好的方法吗?到目前为止的尝试另一个question描述了如何否定正则表达式,使用这种方法我认为命令应该是gitdiff-G'^((?!OOMPH_CURRENT_FUNCTION).)*$'但这只是返回错误信息fatal:invalid

regex - 如何获取匹配正则表达式条件的最后一个 Git 标签

我需要Git命令来获取/查找以'v'开头的最后一个标签以获取最后的版本控制提交(我正在使用开头带有v字母的标签来标记下一个应用程序版本(示例:v0.9.1beta).有什么办法吗? 最佳答案 我为此使用以下命令:gitdescribe--match"v[0-9]*"--abbrev=4HEAD如果您在上一个版本化标签后对源代码树做了一些事情,它也会修改版本。请注意,这不是正则表达式,而是一个glob,但适用于提供的示例。 关于regex-如何获取匹配正则表达式条件的最后一个Git标签,我

regex - 如何获取匹配正则表达式条件的最后一个 Git 标签

我需要Git命令来获取/查找以'v'开头的最后一个标签以获取最后的版本控制提交(我正在使用开头带有v字母的标签来标记下一个应用程序版本(示例:v0.9.1beta).有什么办法吗? 最佳答案 我为此使用以下命令:gitdescribe--match"v[0-9]*"--abbrev=4HEAD如果您在上一个版本化标签后对源代码树做了一些事情,它也会修改版本。请注意,这不是正则表达式,而是一个glob,但适用于提供的示例。 关于regex-如何获取匹配正则表达式条件的最后一个Git标签,我

git:如何在不禁用 safecrlf 的情况下摆脱 "warning: CRLF will be replaced by LF"?

我是git的新手,我已经阅读了很多关于行尾和git如何对待它们。顺便说一句,我在Windows上。我做了一个.gitattributes文件并将例如*.txt设置为文本。当我提交.txt文件时,我收到警告:warning:CRLFwillbereplacedbyLFinwhatever.txt但我知道。我不需要那个警告。更换线文本文件中的结尾是我想要的。现在,将safecrlf设置为false会发出警告消失了,但是safecrlf的手册是这样写的:Iftrue,makesgitcheckifconvertingCRLFisreversiblewhenend-of-lineconvers

git:如何在不禁用 safecrlf 的情况下摆脱 "warning: CRLF will be replaced by LF"?

我是git的新手,我已经阅读了很多关于行尾和git如何对待它们。顺便说一句,我在Windows上。我做了一个.gitattributes文件并将例如*.txt设置为文本。当我提交.txt文件时,我收到警告:warning:CRLFwillbereplacedbyLFinwhatever.txt但我知道。我不需要那个警告。更换线文本文件中的结尾是我想要的。现在,将safecrlf设置为false会发出警告消失了,但是safecrlf的手册是这样写的:Iftrue,makesgitcheckifconvertingCRLFisreversiblewhenend-of-lineconvers

git - Windows git "warning: LF will be replaced by CRLF",警告尾部向后吗?

环境:window7管理系统当我gitcommit时,它说:warning:LFwillbereplacedbyCRLF.这个警示尾部是不是反了?我在Windows下编辑文件,行尾是CRLF,如下图:git将其更改为LF以提交repo协议(protocol)。所以我认为正确的警告是:warning:CRLFwillbereplacedbyLF. 最佳答案 warning:LFwillbereplacedbyCRLF.根据您使用的编辑器,带有LF的文本文件不必使用CRLF保存:最近的编辑器可以保留eol样式。但是那个git配置设置坚持