我已经成功地将提交消息弄糟,当我读回来时,即使我无法解决所说的内容!
此提交尚未推送,我知道可以使用以下命令更改消息:
git commit --amend -m "New commit message"
Run Code Online (Sandbox Code Playgroud)
(感谢这篇文章)
但是,我正在使用GitHub for Windows GUI.那么有没有办法让我在不跳进PowerShell的情况下更改提交消息?
我写了一个不正确的提交消息,我把它推到了遥控器上.有很多问题已经解决了这个问题:
只是一对.但是他们似乎都终止了git push --force,并且关于为什么这是一个坏主意的额外警告 - 它编辑了历史,这意味着使用存储库的每个人在尝试拉动时都会受到影响.他们似乎并没有说"正确"的事情是什么.
那么处理这种情况的建议或"正确"方法是什么?我以为我可以添加额外的消息git commit --allow-empty,但据说有" 很少有理由这样做 ".为--allow-empty确实解决的事情以正确的方式?如果没有,什么是正确的做法?
注意:以"正确的方式"做事可能涉及"承认我搞砸了".作为我正在寻找的一个例子,该git tag手册页讨论了重复推送标签.它清楚地讨论了重新标记错误标记的提交的方法,给出了推荐的行动方案和一种--force做事方式.
git pull origin mastergit add .git commit -m "bug x fixed"我应该再次添加它们吗?我应该删除最后一次提交并进行新的提交吗?或者是什么?
我有一个git存储库,其中包含大约30个我想要导入现有SVN存储库的修订版.不幸的是,SVN存储库有一堆预提交挂钩,需要提交消息中的某些信息,某些文件类型中的某些SVN关键字等等.这些都与我正在检查的东西无关,或者无论如何,它们都不像保留现有的修订历史那么重要.
在一个完美的世界里,我可能会做一些事情:
在一个不那么完美的世界里,我可以得到git-svn以某种方式预先设置skip-pre-commit-checks(? - 我之前从未使用过它),然后我至少拥有所有的修订历史记录.
思考?
更新以添加: skip-pre-commit-checks实际上并不是一件事; 我被某个特定项目的特定黑客误导了.
如SO中这个流行的答案所示,当我需要编辑/更正最后一次提交的消息时,我这样做:
git commit --amend -m "New commit message"
Run Code Online (Sandbox Code Playgroud)
但是当我想修改最后一次提交之前的提交时,我该怎么做?例如,第14次最后一次提交 - 还考虑到提交尚未被推送到远程?
有没有办法在不重置以前的提交的情况下执行此操作?请问rebase在这种情况下,做正确的事?
有没有办法可以更新我刚刚对本地分支所做的最后一次提交的提交消息?
原因是:当我推送时,远程有一个策略,要求每个提交消息都以某个咒语开头,否则它将拒绝提交。
这是一个相当大的承诺,需要花费数小时的工作和大量的更改。只是想知道我是否可以避免必须进行--hard reset并重做我的更改?
我想编辑我在 GitHub 上提交的最后一项义务的标题(摘要)和描述。目前,我最后一次这样做的时间如下https://zapodaj.net/320632245f106.png.html https://zapodaj.net/50f188728cdc2.png.html。文件附有提交描述“JSONDoc 文档被交换为...”,但我希望在这些地方给出版本,因为它在这里https://zapodaj.net/127c307a57e0e.png.html。
这就是为什么我想编辑我的最后一次提交并给出标题0.0.2.4和描述"JSONDoc documentation was exchanged for..."。这个怎么做?
我有一种情况,错误跟踪工具审查一个提交的文件,一旦它审查提交消息必须改变.
所以我的问题是,有没有办法改变已经提交到我的本地git存储库的文件的提交消息?