我知道这不是最好的做法,但每隔一段时间,当我合并一个巨大的批量更改与主干(我知道我的分支是最新的)时,我将简单地删除主干的内容和然后复制我的分支的内容,这样我就不必处理解决冲突一小时了.问题是我似乎丢失了每个文件的提交消息的整个历史记录.我的分支仍然有正确的提交消息历史...我怎么能合并它们?
我是Git的新手.是否有可能在开发过程中逐步创建提交消息?因为我发现在提交或经常提交时审查所有更改非常耗尽.对不起,如果我在这里拥挤问题:)
显然我很久以前就错误输入了我的电子邮件,每当我设置git时,所以我的电子邮件在许多存储库中都是不正确的(我键入了一个0而不是一个o).我签署了所有的提交,因此几乎每次回购中的每一次提交都会说signed off by: <xxx0@foo.bar>而不是signed off by: <xxxo@foo.bar>.现在我不能只是切换我的电子邮件,所以我想切换这些提交消息.
我已经完成了git config --global user.email "xxxo@foo.bar",所以这不应该成为一个问题.
首先,是否有可能在这种大规模的情况下更改消息而不会使事情变得非常糟糕?我已经将这些更改推送到多个服务器,其他人已经撤消了这些更改.
第二,有没有办法在剧本中快速完成这项工作?即:
foreach(commit in log)
{
change "<xxx0@foo.bar>" to "<xxxo@foo.bar>"
}
Run Code Online (Sandbox Code Playgroud)
感谢所有帮助,谢谢!
Jenkins Gerrit 触发器插件为GERRIT_CHANGE_COMMIT_MESSAGE和GERRIT_EVENT_COMMENT_TEXT提供编码值
我如何解密它 - 使其易于阅读?
我正在尝试更新提交消息,但同时保持相同的哈希值。
我尝试了 --message-callback 和 --commit-callback 这两个选项,但无论我选择哪一个,它都会生成新的哈希值。我是这样做的:
python3 git-filter-repo.py --preserve-commit-hashes --message-callback (or --commit-callback) '
if b"blabla" not in message:
message = b"MyMessage " + message
return message' --force
Run Code Online (Sandbox Code Playgroud)
这是一种错误吗?或者我做了一些完全错误的事情?
任何帮助表示赞赏
我写了一个脚本,可以每10分钟自动提交一次.但它的提交消息始终相同("代码已保存").但我想改变其中一些里程碑.
这是我的自动提交脚本:
cd c:\inetpub\wwwroot\siteCodes
svn commit -m "Code Saved"
Run Code Online (Sandbox Code Playgroud)
我怎样才能编写一个脚本,让我有机会编写修订号和新的提交消息.
假设我正在分支机构工作,我就跑了git commit.然后我被带到提交消息提示符,我可以在其中输入提交主题和消息.我正在寻找的是一种方法来预先填充提交主题,同时仍然能够手动编写提交消息.
这个问题与此不同,因为我希望提交主题,但仍希望提示输入提交消息,即git commit -a在git bash中运行结果如下:
编辑: githooks的不当使用阻止了链接问题的接受答案.因此,问题并不明确,可以将其标记为重复.
我目前正在尝试使用分支名称预先填充提交主题,但将来我可能希望该文本是其他内容.因此,优选通用解决方案(不是专门针对分支名称).
我在 git 上的提交消息通常如下所示:
* Fix bug abc
* Refactor xyz
* Document 123
* ...
Run Code Online (Sandbox Code Playgroud)
我想知道这是否是一种不好的做法,我应该更喜欢单行提交消息或至少提供一个标题行。
另一方面,这写起来不太舒服......
你有什么建议?
我知道 GitHub 强烈建议使用消息,但我和我的兄弟一起从事半公共项目,而且我们在同一个房间工作,所以显然我们不需要对我们的承诺做出任何评论。是否有其他选项可以至少对于特定存储库/项目/文件完全禁用承诺消息?
我发现这个命令可以做出一个承诺:git commit -a --allow-empty-message -m ""它工作得很好,但我已经厌倦了每次都输入它。