Squash 在带有数字符号(井号)的交互式 rebase 中提交
Squash commits in interactive rebase with number sign (hash sign)
我们使用带有 Git 实现的 TFS 作为我们的源代码控制。如果提交消息包括以数字符号开头的积压项目 ID(如 #1234
),TFS 会将此提交直接与此项目链接。
commit message的写入没有问题,commit message在日志中正确显示。由于我写了一个 git-hook,因此在每次提交时都会设置项目编号。
当我使用 git 的 interactive rebase 时出现问题。我想压缩一些提交,但在编辑器中,数字符号被解释为 注释符号。
这是它的样子:
# This is a combination of 4 commits. # This is the 1st commit message:
#1234 Commit Message 1
# This is the commit message #2:
#1234 some coding here
# This is the commit message #3:
#1234 just a fix
# Please enter the commit message for your changes. Lines starting # with '#' will be ignored, and an empty message aborts the commit.
.
.
.
到目前为止,我尝试使用反斜杠,但它不起作用。反斜杠随后出现在消息本身中 (\#1234 Commit Message 1
)
有什么建议吗?如何在保留数字符号的同时压缩我的提交?更改提交消息文本也有同样的问题。
您需要将 core.commentChar
设置为 #
以外的某个字符,以便您可以将 #
用作提交文本,而不是注释。
您可以只在一个变基期间设置它:
git -c core.commentchar=: rebase -i ...
例如。但是如果你打算经常这样做,你可能想使用 git config
在你的每个存储库或全局配置中设置它。
压缩并关闭编辑器后,您可以修改提交并使用 #
更改文本。例如:
git commit --amend -m "#1234 just a fix"
我们使用带有 Git 实现的 TFS 作为我们的源代码控制。如果提交消息包括以数字符号开头的积压项目 ID(如 #1234
),TFS 会将此提交直接与此项目链接。
commit message的写入没有问题,commit message在日志中正确显示。由于我写了一个 git-hook,因此在每次提交时都会设置项目编号。
当我使用 git 的 interactive rebase 时出现问题。我想压缩一些提交,但在编辑器中,数字符号被解释为 注释符号。
这是它的样子:
# This is a combination of 4 commits. # This is the 1st commit message:
#1234 Commit Message 1
# This is the commit message #2:
#1234 some coding here
# This is the commit message #3:
#1234 just a fix
# Please enter the commit message for your changes. Lines starting # with '#' will be ignored, and an empty message aborts the commit.
.
.
.
到目前为止,我尝试使用反斜杠,但它不起作用。反斜杠随后出现在消息本身中 (\#1234 Commit Message 1
)
有什么建议吗?如何在保留数字符号的同时压缩我的提交?更改提交消息文本也有同样的问题。
您需要将 core.commentChar
设置为 #
以外的某个字符,以便您可以将 #
用作提交文本,而不是注释。
您可以只在一个变基期间设置它:
git -c core.commentchar=: rebase -i ...
例如。但是如果你打算经常这样做,你可能想使用 git config
在你的每个存储库或全局配置中设置它。
压缩并关闭编辑器后,您可以修改提交并使用 #
更改文本。例如:
git commit --amend -m "#1234 just a fix"